- fstab — FileSystem Table
- lsblk
- -f :列出所有块设备及其文件系统类型;
- blkid:显示所有块设备的UUID和文件系统类型等信息;
- lsof 查看设备的进程
- fuser 查看设备的进程
- df -hT | grep -v tmpfs:列出已挂载分区的文件系统类型及使用情况;
- mount -a
- mount -o
- umount /mnt/cdrom
- fdisk
- -l :显示硬盘分区表信息,包括分区类型;
- parted
- parted -l :列出磁盘分区信息和文件系统类型;
- mkfs
磁盘分区与格式化
操作流程
第一步:添加硬盘、添加后查看硬盘
lsblk
第二步:对硬盘进行分区
fdisk /dev/sdc
#输入 n 创建新的分区;
#输入数字,给分区定序号,默认为1-4;
#分配空间,如果一块盘准备分配成多个分区,应当合理分配的容量;
#输入w保存并退出;
#输入q则是不保存并推出。
第三步:格式化分区
mkfs.ext4 /dev/sdc1
mkfs.ext4 /dev/sdc2
.
.
.
第四步:检查格式化情况
lsblk -f //列出所有设备或分区及其文件系统类型(格式)
blkid /dev/sdc1 //查看sdc1分区的UUID
blkid /dev/sdc2 //查看sdc2分区的UUID
第五步:挂载分区
#手动挂载(重启后无效):
mkdir /data2 //创建挂载目录
mount /dev/sdc1 /data2 //挂载sdc1到/data2
#自动挂载(重启后也自动挂载):
blkid /dev/sdc1 //查看分区的UUID
nano /etc/fstab 编辑/etc/fastab文件,添加:
UUID=sdc1的UUID /data2 ext4 defaults 0 0
第六步:验证
lsblk
lsblk -f //列出所有设备或分区及其文件系统类型(格式)和UUID
df -hT | grep sdc //查看格式
blkid
Linux 磁盘及分区的表示方法
操作系统的所有数据都存储在磁盘分区中,在传统的磁盘管理中,磁盘分区包括主分区、扩展分区、逻辑分区三种类型,之所以这样区分,是因为在硬盘的主引导扇区 MBR 中用来存放分区信息的空间只有 64 字节(主引导扇区一共只有512字节空间),而每一个分区的信息都要占用 16 字节空间,因而理论上一块磁盘最多只能拥有 4 个分区,当然这 4 个分区都是主分区。这在计算机早期没什么问题,但后来随着硬盘空间越来越大,4 个分区远远不够了,所以才又引入了扩展分区的概念。扩展分区也是主分区,但他不能直接使用,他就是相当于一个容器,可以在扩展分区中再创建新的分区,这些分区被称为逻辑分区。逻辑分区的数量不再受主引导扇区空间大小的限制,像 SCSI 或 SATA 接口的磁盘在 Linux 系统中最多可以创建 12 个逻辑分区。
在Windows中,每个磁盘分区都会被分配到一个用大写字母表示的盘符,如C盘、D盘等,Linux 系统对磁盘分区的表示与使用方法与 Windows 完全不同。
首先,在Linux 系统中所有的磁盘以及磁盘中的每个分区都是用文件形式来表示的。比如在计算机中有一块硬盘,硬盘上划分了3个分区,那么在Linux系统中就会有相对应的 4 个文件设备文件,一个是硬盘的设备文件,另外每个分区也有一个设备文件,所有的设备文件都统一存放在 /dev 目录中。
不同的类型的硬盘和分区都有统一的命名规则,具体表述形式如下:
- 硬盘:对于SATA或SCSI 接口的硬盘设备,采用 ”sdX“ 形式的文件名,其中“X”为 a、b、c等字母序号。例如,系统中的第一块硬盘表示为 “sda”,第二块硬盘表示为 “sdb”。
- hd 表示IDE设备(已淘汰,即便有也用sd表示了)、sd 表示串行设备;
硬盘的顺序号:a、b、c ……表示;
分区的顺序号,以数字1、2、3 ……表示。
- hd 表示IDE设备(已淘汰,即便有也用sd表示了)、sd 表示串行设备;
- 分区:表示分区时,以硬盘设备的文件名作为基础,在后面添加该分区对应的数字序号。例如,第一块硬盘中的第一个分区表示为 ”sda1“、第二个分区表示为 ”sda2“;第二块硬盘的第一个分区表示为 ”sdb1“ 等。
- 需要注意的是:由于主分区的数目最多只有 4 个,因此主分区和扩展分区的序号也就限制在 ”1~4“ 之间,而逻辑分区的序号将从 5 开始。例如,即便系统中的第一块硬盘只划分了一个主分区和一个扩展分区,则第一个逻辑分区的序号仍然是从 5 开始, 应表示为 ”sda5“。
- U盘:对于所有使用USB接口的移动存储设备,都一律使用 /dev/sdX 的设备文件。
- 光盘:默认的设备文件为 /dev/cdrom 和 srX 。
挂载与卸载存储设备
卸载设备时,因为同一个设备可能被挂载到多个目录下,所以一般建议通过挂载点目录的位置来进行卸载。
卸载光驱
[root@localhost~]# umount /mnt/cdrom
在使用umount命令卸载存储设备时,必须保证此时存储设备不能处于busy状态,使存储设备处于busy状态的情况有:设备中有打开的文件、某个进程的工作目录在此系统中、设备的缓存文件正在被使用等。最常见的错误时在挂载点目录下进行卸载操作。
例如:
[root@localhost~]# cd /mnt/cdrom
[root@localhost~]# umount /mnt/cdrom
umount: /mnt/cdrom:目标忙
--------有些情况下通过 lsof 或 fuser 可以找到有关使用该设备的进程的有用信息-----------
自动挂载
通过 umount 目录所挂载的存储设备在 Linux 系统关机或重启时会被自动卸载掉,这样每次开机后管理员都需要手动再挂载一遍,如果再挂载的存储设备里放了一些开机要自动运行的程序数据,就可能会导致程序出现错误。再 Linux 系统中可以通过修改 /etc/fstab 文件来完成存储设备的自动挂载。
/etc/fstab 称为 文件系统数据表 (File System Table),Linux 再每次开机时都会按照这个文件中的配置来自动挂载相应的设备。
/etc/fstab 文件的内容和解释如下:
通过修改 /etc/fstab 配置文件。虽然可以实现设备的永久挂载,但是无法立即生效。这也是 这也是 Linux 系统中很多操作的共同点:同样的一种功能,比如挂载存储设备,如果是通过命令来实现,那么可以立即生效,但却无法永久有效,当系统关机或者重启就时效;而如果通过修改配置文件的方式来实现该功能,可以永久有效,但却无法立即生效,需要重启后才能生效。
而当修改完 /etc/fstab 文件后,可以执行命令 “mount -a” ,该命令可以自动挂载配置文件中的所有文件系统,从而再无需重启系统的情况下使得设置立即生效。

- 第一个字段:需要挂载的设备文件名,也可以写成 LABEL(卷标),或者是分区的UUID。
- 第二个字段:挂载点,挂载点必须是一个目录,而且必须用绝对路径。
- 第三个字段:文件系统的类型,如果是 XFS 文件系统,则写成xfs;如果是 EXT4 文件系统,则写成 ext4;如果是光盘,则写成 auto,由系统自动检测。
- 第四个字段:挂载选项,选项非常多,这里一般采用“defaults”,它表示包含了 rw、suid、dev、exec、auto、nouser、async 等选项。
- 第五个字段:存储设备是否需要 dump 备份(dump是一个备份工具),1 表示需要、0 表示忽略。现在很少用到 dump 这个工具,这项通常设置为 0 。
- 第六个字段:表示在系统启动时是否检测这个存储设备以及检测的顺序。0 表示不检测,1 和 2 表示检测以及检测的顺序,先检测 1,再检测 2 。如果由多个分区需要开机检测,就都设成 2 ,1 检测完后会同时检测 2 。再 Centos7系统中,该项通常设置为 0 。
