1.Linux 基础之系统分区与格式化

讲分区之前,先说一下硬盘结构:硬盘(机械)的横截面是一个圆,并且被分成等大小的扇区,每个扇区的大小是 512Byte,其中有 446Byte 被用来存储启动信息,剩下的 64Byte 用来进行分区表示,并且每 16Byte 表示一个分区,也就是说一块硬盘最多只能表示 4 个分区(主分区+扩展分区),并且每块硬盘最多只能有 1 个扩展分区。

其中:
主分区——最多只能有 4 个,与硬盘结构有关,与系统类型无关;
<br>扩展分区——最多只能有 1 个,主分区+扩展分区最多只能有 4 个,不能写入数据,只能包含逻辑分区;
<br>逻辑分区——序号从 5 开始;

1.1 系统分区

为什么要分区?

一块硬盘的存储空间通常都有 500GB 至 1TB 甚至更多,为了能让数据类存放,就必须分区。这样,当你去找硬盘中的某个文件时,就不必搜索整个硬盘,而只需要去某个分区中查找就行了。其实硬盘分区的好处还有很多,这里就不再赘述。

1.2 硬盘格式化

分区完了就能直接使用了吗?

不不不,要先格式化硬盘。关于格式化,有一个共同的误区,那就是都以为格式化的目的是用来删除硬盘中的文件的,实际上格式化的根本目的是为了写入文件系统。

常见的文件系统有 FAT16,FAT32,NTFS,EXT2,EXT3,EXT4 等文件系统。其中,越新的文件系统越先进,FAT16 中分区的大小不能超过 2GB;FAT32 中分区的大小能达到 16TB,但是单个文件的大小不能超过 4GB;NTFS 是 Windows 中最先进的文件系统,支持更大的分区和更大的文件;而在 Linux 中能识别的文件系统则是 EXT2,3,4,也是越新的文件系统越先进(CentOS6.3中默认是EXT4)。

如上图所示,格式化分区主要做了 2 件事情:

  1. 将分区分成等大小的数据块:


    每个块大小为 4KB(视文件系统而定)。若要往其中存储一个大小为 18KB 的数据,需要占用 5 个数据块,存放的位置不一定是连续的,其中第 5 个数据块只存放了 2KB 的数据,且该数据块不能再存放其他数据。
  2. 建立分区列表(二维表格):


    为分区建立一个二维表格,该二维表格的内容有:每个文件的 ID(inode),修改时间,权限和存放的数据块等。当用户需要读取某个文件时,先去分区列表中查找文件的 ID(inode) 号,若存在则判断该用户是否有权限访问,若有权限则从分区数据块中提取出文件的碎片再组合成完整返回给用户。


    其中:在第 1. 步中,将分区分成等大小的数据块,会附带地清空原有数据块的数据,所以格式化宏观上看就是删除磁盘数据的现象,导致常常被人误解。


    所以格式化确实可以删除磁盘中的数据,但是格式化的目的是写入文件系统。

2. Linux 基础之设备文件名与挂载

在 Windows 中:分区 -> 格式化 -> 分配盘符 ;就能使用


在 Linux 中:分区 -> 格式化 -> 给分区起设备文件名 -> 分配盘符 ;就能使用



Linux 中的设备文件名实际上是系统自己检测的(无需手动分配),我们只需要看懂即可,如下图所示:

2.1 硬件设备文件名

![硬件设备文件名](https://i.imgur.com/ROhBvig.png)

如上图所示:

其中,/dev/ 目录专门用来存放设备文件名;中括号 [] 中如 [a-p] 指的是硬盘的分区号,a 代表第 1 块硬盘,b 代表第 2 个块硬盘,以此类推;


例如:/dev/sda5 代表第 1 个 SCSI(SATA) 硬盘的第 1 个逻辑分区(1-4是主分区或者扩展分区,逻辑分区从5开始)

设备文件名是系统起的,我们只要能看懂就行了。

2.2 挂载

在 Linux 中,我们将硬盘分区好了之后,分区的名字保存在 /dev/ 目录下,如 /dev/sda1 是第 1 个 SATA 硬盘的第 1 个(主)分区。那么我们怎么去访问硬盘分区中的数据呢?可以将该分区 "挂载" 到某个目录下,如 /temp/sda1,这样我们去到 /temp/sda1/ 目录下就能看到该硬盘第一个分区的数据了,所以目录就是我们所说的挂载点


具体的挂载命令是 mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点。即 mount /dev/sda1 /temp/sda1

刚装系统时,推荐:

必须分区:

1. `/`(根分区)
2. `swap`(交换分区,虚拟内存):内存在 4G 以内则 swap 为内存的 2 倍,内存在 4G 以上则 swap 要和内存一样大

推荐分区:

1. `/boot`(启动分区,非必须):200MB。
进行 /boot 分区的目的就是为了防止磁盘被写满,导致系统崩溃

Linux 基础一(系统分区、格式化与挂载)的更多相关文章

  1. linux增加硬盘 磁盘分区格式化及挂载

    nux磁盘分区格式化及挂载 意义: 给linux 系统服务器扩容, 加一块硬盘 实验环境: virtualBox虚拟软件  + centos6.5 第一步: 添加硬件 硬盘 (我这里用virtualB ...

  2. linux硬盘分区格式化及挂载

    1.硬盘的接口类型 硬盘的接口一般分为两种,一种是IDE并行接口,一种是SATA串行接口, 在linux上面IDE接口的硬盘被识别为/dev/hd[a-z]这样的设备,其中hdc表示光驱设备,这是因为 ...

  3. Linux基础四---系统监控&硬盘分区

    ---恢复内容开始--- 一系统分区 1.top [参数] -b 批处理 -c 显示命令完全模式 -I 忽略失效过程 -s 保密模式 -S 累积模式 -i<时间> 设置间隔时间 -u< ...

  4. linux运维基础知识-系统分区及LVM逻辑卷的创建

    系统分区及LVM逻辑卷的创建 分区 创建逻辑卷 LVM简介:逻辑卷管理器(LogicalVolumeManager)本质上是一个虚拟设备驱动,是在内核中块设备和物理设备之间添加的一个新的抽象层次,如图 ...

  5. ubuntu server下建立分区表/分区/格式化/自动挂载(转)

    link:http://www.thxopen.com/linux/2014/03/30/Linux_parted.html 流程为:新建分区-->格式化分区-->挂载分区 首先弄明白分区 ...

  6. Linux基础--------监控系统、进程管理、软件包管理-------free、dd、kill、 rpm、yum、源码安装python

    作业一:1) 开启Linux系统前添加一块大小为15G的SCSI硬盘 2) 开启系统,右击桌面,打开终端 3) 为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分区 ...

  7. linux 新添加的硬盘格式化并挂载到目录下

    需求: 新增加一块硬盘sdb,将sdb分区,只分一个区,格式化,挂载到目录/ssd下. 1.  查看现在已有的分区状态 # df –l 图中显示,没有看到sdb硬盘 2.  查看服务器安装的硬盘状态( ...

  8. linux 新添加的硬盘格式化并挂载到目录下方法

    需求: 新增加一块硬盘sdb,将sdb分区,只分一个区,格式化,挂载到目录/ssd下.原文:https://www.cnblogs.com/ddbear/p/7009736.html 1.  查看现在 ...

  9. Linux基础-09-磁盘分区、挂载及文件系统管理

    1. 硬件设备与文件名的对应关系 1) 在Linux系统中,每个设备都被当初一个文件来对待. 2) 各种设备在Linux中的文件名 2. 硬盘的结构及硬盘分区 1) 为什么要进行硬盘分区: a) 更容 ...

随机推荐

  1. 3.HBase In Action 第一章-HBase简介(1.1.1 大数据你好呀)

    Let's take a closer look at the term Big Data. To be honest, it's become something of a loaded term, ...

  2. JDBC中的SPI实现

    DriverManger加载时候会调用如下方法: 关键代码:java.sql.DriverManager#loadInitialDrivers 然后 有时间整理一下

  3. kali 2016.2安装及配置

    之前安装过kali,现在换了台电脑重新安装一遍,顺便记录下来,因为面向新手所以会很详(luo)细(suo) 安装: 首先到官网去下载镜像文件:https://www.kali.org/download ...

  4. Postman-断言和Runner

    断言(部分) // 推荐用全等 ===,确保类型和值都一致 tests['Status code is 200'] = responseCode.code === 200; //判断响应结果是否是20 ...

  5. collate字段详细讲解

    collate可以在库级别上,表级别上,列级别上设计:意思就是“排列规则”;通常和charset结合使用: 例如: 建议使用utf8mb4而不是utf8,因为utf8最多支持3字节得长度,但是有些字符 ...

  6. 无oracle客户端仅用plsql连接远程oracle

    1.在安装ORACLE服务器的机器上搜索下列文件,oci.dllocijdbc10.dllociw32.dllorannzsbb10.dlloraocci10.dlloraociei10.dllsql ...

  7. C语言程序设计II—第一周教学

    第一周教学总结(25/2-3/3) 教学内容 开学谈心 测验数据类型.运算符与表达式的自学情况,并讲解测验题目 第七章 数组 7.1 一维数组 课前准备 在蓝墨云发布资源:回顾数据类型与表达式测试活动 ...

  8. Android 一个相对完整的自动升级功能实现代码

    由于项目的需要最近做了一个关于Android自动升级的功能,下面将贴出Android手机客户端的完整代码.这段代码参考别的代码居多,由于不满足需求,所以自己仅仅改了一些需要变动的内容,其他功能都是按照 ...

  9. linux中原子操作实现方式

    原子操作提供了指令原子执行,中间没有中断.就像原子被认为是不可分割颗粒一样,原子操作(atomic operation)是不可分割的操作. 如下面简单的例子: Thread 1             ...

  10. 2.4《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——小结

    下Table 3本章重要命令小结 命令 描述 示例 > 将输出内容重定向到指定文件中 $ echo foo > foo.txt >> 将输出内容添加到指定问价中 $ echo ...