在Linux系统管理中,了解和查看磁盘分区是一项基础且至关重要的技能,无论是为了进行容量规划、故障排查,还是安装新的操作系统,管理员都需要清晰地掌握系统的磁盘布局,对于经典的CentOS 6.4系统而言,虽然其版本已有些久远,但用于查看分区的核心命令至今仍在各种Linux发行版中广泛使用,其知识具有很高的延续性和实用性,本文将详细介绍在CentOS 6.4中查看分区的几种常用方法,从不同维度展示磁盘信息,帮助您全面掌握系统存储状况。
使用 df
命令查看已挂载的文件系统
df
(disk free)命令是Linux用户最常使用的命令之一,它用于显示文件系统的磁盘空间使用情况,这个命令关注的是“已挂载”的分区,并以人类易于理解的方式呈现其容量、已用空间、可用空间和使用率。
最常用的参数组合是 -h
(human-readable)和 -T
(print file system type)。
df -hT
执行上述命令后,您会看到类似以下的输出:
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 ext4 18G 2.5G 15G 15% /
tmpfs tmpfs 495M 0 495M 0% /dev/shm
/dev/sda1 ext4 485M 35M 425M 8% /boot
输出信息解读:
- Filesystem: 文件系统对应的分区设备名,如
/dev/sda2
。 - Type: 文件系统类型,如
ext4
、tmpfs
。 - Size: 分区总大小。
- Used: 已使用的空间大小。
- Avail: 可用的空间大小。
- Use%: 磁盘使用率的百分比。
- Mounted on: 该分区挂载到的目录路径。
df
命令非常适合快速了解哪些目录占用了最多的空间,以及各个分区的剩余容量是否充足。
使用 fdisk
命令查看磁盘分区表结构
与 df
不同,fdisk
(fixed disk)是一个功能强大的磁盘分区工具,使用 -l
(list)参数可以列出指定磁盘或所有磁盘的分区表信息,它展示的是底层的、原始的分区结构,无论该分区是否被挂载。
sudo fdisk -l
会包含系统中所有可识别的磁盘设备及其分区详情,
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0004b9b2
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
/dev/sda2 65 2610 20458496 8e Linux LVM
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
...
输出信息解读:
- Disk /dev/sda: 磁盘设备的名称和总容量。
- Device: 分区设备名,如
/dev/sda1
。 表示该分区是活动引导分区。 - Boot: 引导标志。
- Start/End: 分区的起始和结束柱面位置。
- Blocks: 分区的大小,以块为单位。
- Id: 分区的类型ID,
83
代表Linux分区,82
代表Linux Swap,8e
代表Linux LVM(逻辑卷管理)。 - System: 分区类型的文字描述。
fdisk -l
提供的信息更为底层和详细,适合用于查看磁盘的整体分区方案、识别未挂载的分区或规划新的分区布局。
使用 lsblk
命令以树状结构展示块设备
lsblk
(list block devices)是一个相对现代的命令,它以一种非常直观的树状结构列出所有可用的块设备(磁盘、分区、逻辑卷等),在较新的系统中它通常是默认安装的,在CentOS 6.4中如果未找到,可以通过 yum install util-linux-ng
进行安装。
lsblk
其输出清晰明了:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 19.5G 0 part
├─vg_centos-lv_root (dm-0) 253:0 0 17G 0 lvm /
└─vg_centos-lv_swap (dm-1) 253:1 0 2.5G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
└─sdb1 8:17 0 10G 0 part /data
输出信息解读:
- NAME: 设备名称,层级关系一目了然。
- MAJ:MIN: 主次设备号。
- RM: 是否为可移动设备(1为是,0为否)。
- SIZE: 设备容量。
- RO: 是否为只读(1为是,0为否)。
- TYPE: 设备类型(disk磁盘, part分区, lvm逻辑卷)。
- MOUNTPOINT: 挂载点。
lsblk
的优势在于其清晰的父子关系展示,能够轻松识别物理磁盘、分区以及在其上创建的逻辑卷(LVM)或RAID设备之间的关系。
为了更清晰地对比上述几种常用方法,下表小编总结了它们的核心用途和特点:
命令 | 主要用途 | 核心信息 | 特点 |
---|---|---|---|
df -hT | 查看已挂载文件系统空间使用情况 | 容量、已用、可用、使用率、挂载点、文件系统类型 | 关注“空间”,面向用户,信息直观,常用于监控容量 |
fdisk -l | 查看磁盘原始分区表结构 | 分区起始/结束、大小、分区ID、系统类型 | 关注“结构”,信息底层,显示所有分区(无论是否挂载),适合分区规划 |
lsblk | 以树状结构展示块设备关系 | 设备名称、大小、类型、挂载点、层级关系 | 关注“关系”,结构清晰,现代且直观,能很好展示LVM等复杂结构 |
blkid | 查看块设备属性(UUID、LABEL) | 设备名、UUID、文件系统类型、LABEL | 关注“身份”,主要用于获取唯一标识符,用于配置/etc/fstab |
相关问答FAQs
df
命令和 fdisk -l
命令显示的分区大小为什么有时会不一样?
解答: 这是因为两个命令的统计维度和计算方式不同。fdisk -l
显示的是磁盘分区的原始物理大小(或称“块大小”),这个值是固定的,而 df
命令显示的是文件系统层面的可用空间,文件系统在创建时,会预留一部分空间给 root
用户用于系统维护或当磁盘满时进行恢复操作(通过 mke2fs -m
参数指定,默认为5%),文件系统的元数据(inode等)也会占用一部分空间。df
显示的“总大小”会略小于 fdisk -l
显示的分区大小,而“可用空间”则是在此基础上进一步减去已用数据后得出的结果。
在配置 /etc/fstab
实现开机自动挂载时,为什么推荐使用UUID而不是设备名(如 /dev/sdb1
)?
解答: 推荐使用UUID(Universally Unique Identifier,通用唯一识别码)主要是因为其稳定性和唯一性,设备名(如 /dev/sdb1
)是由系统在启动时根据硬件探测顺序动态分配的,如果添加或移除了其他硬盘设备,或者SATA/USB接口的物理位置发生变化,系统可能会重新分配设备名,原来的 /dev/sdb1
在下次重启后可能就变成了 /dev/sdc1
,这会导致 /etc/fstab
中的配置失效,系统无法正确挂载分区,甚至可能无法启动,而UUID是文件系统在格式化时生成的一个独一无二的标识符,它与分区本身绑定,不会因为设备名的改变而改变,使用UUID进行挂载配置可以确保系统总能准确地找到对应的分区,大大提高了系统的稳定性和可靠性。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复