在管理 CentOS 6.7 这类稳定且经典的服务器操作系统时,准确地查看和识别硬盘信息是系统管理员的一项基本功,无论是进行磁盘分区、格式化、挂载,还是排查存储空间问题,都需要依赖合适的命令来获取准确的硬件和文件系统信息,本文将详细介绍在 CentOS 6.7 环境下查看硬盘信息的多种实用方法,从基础到进阶,帮助您全面了解服务器的存储状况。

使用 fdisk -l 查看磁盘分区详情
fdisk(fixed disk)是一个功能强大且传统的磁盘分区管理工具,配合 -l(list)参数,它可以列出系统中所有磁盘的分区表信息,这是查看物理磁盘和分区结构最常用的方法之一。
命令格式:
sudo fdisk -l
由于需要读取底层设备信息,通常需要 root 权限,因此推荐使用 sudo。
输出示例与解读: 执行命令后,您可能会看到类似以下的输出:
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: 0x0004f9a3
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
/dev/sda2              26        2611    20765184   8e  Linux LVM
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 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: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table
关键信息解析:
Disk /dev/sda: 表示这是第一块 SCSI/SATA 硬盘,名为sda,后面跟着它的总容量。Device: 分区设备名,如/dev/sda1、/dev/sda2。Boot: 号表示该分区是可引导分区。Start,End: 分区的起始和结束柱面。Blocks: 分区的大小,以块(通常是 1KB)为单位。Id: 分区类型的十六进制 ID。83代表 Linux,8e代表 Linux LVM(逻辑卷管理),82代表 Linux swap。System: 分区类型的人类可读描述。
从上面的例子我们可以得知,系统有两块硬盘(sda 和 sdb)。sda 已经被分区,包含一个引导分区和一个 LVM 分区,而 sdb 是一块新硬盘,尚未进行分区。
使用 df -h 查看已挂载的文件系统空间
fdisk 查看的是物理分区,而 df(disk free)则用于查看已挂载文件系统的磁盘空间使用情况,这是检查“我的磁盘空间还剩多少”最直接的工具。
命令格式:
df -h
-h 参数(human-readable)表示以易读的格式(如 KB, MB, GB)显示大小,强烈推荐使用。
输出示例与解读:

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_centos-lv_root
                       18G  1.5G   16G   9% /
tmpfs                 499M     0  499M   0% /dev/shm
/dev/sda1             194M   34M  151M  19% /boot
关键信息解析:
Filesystem: 文件系统的名称,注意,这里显示的是 LVM 逻辑卷(/dev/mapper/...)而不是物理分区/dev/sda2,这正是 LVM 的优势所在。Size: 文件系统的总大小。Used: 已使用的空间。Avail: 可用的空间。Use%: 空间使用百分比。Mounted on: 挂载点,即该文件系统在目录树中的位置。
通过 df -h,您可以快速定位哪个目录(如  或 /home)占用了大量空间。
使用 lsblk 以树状结构查看块设备
lsblk(list block devices)是一个较新的工具,它以非常直观的树状结构展示块设备(硬盘、分区、LVM等)及其依赖关系,在 CentOS 6.7 中,它可能默认未安装,您可以通过 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  200M  0 part /boot
└─sda2   8:2    0 19.8G  0 part
  └─vg_centos-lv_root (dm-0)
                     253:0    0   18G  0 lvm  /
sdb      8:16   0   10G  0 disk
sr0     11:0    1 1024M  0 rom
关键信息解析:
NAME: 设备名,树状结构清晰地显示了sda2是vg_centos-lv_root这个 LVM 的物理卷(PV)。MAJ:MIN: 主设备号和次设备号。RM: 1 表示可移除设备(如光驱、U盘),0 表示固定设备。SIZE: 设备大小。RO: 1 表示只读(Read-Only),0 表示可读写。TYPE: 设备类型,disk(磁盘)、part(分区)、lvm(逻辑卷)、rom(只读存储)。MOUNTPOINT: 挂载点。
lsblk 的优势在于其可视化,能让人一目了然地理解磁盘、分区和逻辑卷之间的从属关系。
使用 blkid 查看块设备属性(UUID)
blkid 命令可以列出块设备的属性,最重要的是 UUID(Universally Unique Identifier,通用唯一识别码)和文件系统类型,UUID 是系统识别文件系统的首选方式,因为它不会像设备名 /dev/sdb1 那样在重启后可能发生变化。
命令格式:
sudo blkid
输出示例与解读:

/dev/sda1: UUID="a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6" TYPE="ext4"
/dev/mapper/vg_centos-lv_root: UUID="r5s6t7u8-v9w0-x1y2-z3a4-b5c6d7e8f9g0" TYPE="ext4"
关键信息解析:
/dev/sda1: 设备名。UUID="...": 该分区/卷的唯一标识符,在配置/etc/fstab实现开机自动挂载时,使用 UUID 比设备名更可靠。TYPE="ext4": 文件系统类型,这里是ext4。
命令功能对比表
为了更清晰地选择合适的工具,下表对上述主要命令进行了小编总结:
| 命令 | 主要用途 | 优点 | 注意事项 | 
|---|---|---|---|
fdisk -l | 
查看原始磁盘分区表信息 | 功能经典,几乎所有系统都自带,信息详细 | 输出信息偏向底层,可读性一般 | 
df -h | 
查看已挂载文件系统的空间使用情况 | 直观显示可用空间,最常用于排查空间不足问题 | 只能显示已挂载的分区,无法看到未挂载或未格式化的分区 | 
lsblk | 
以树状结构展示块设备关系 | 可视化效果好,清晰展示设备层级关系 | CentOS 6.7 可能需手动安装 (yum install util-linux-ng) | 
blkid | 
获取设备的 UUID 和文件系统类型 | 提供 UUID,是配置自动挂载 (/etc/fstab) 的关键 | 
不显示空间大小或使用情况 | 
相关问答FAQs
Q1:为什么我在 /dev 目录下看到了 sdb 设备文件,但在 df -h 中却没有显示它的任何信息?
A: 这是一个非常常见的现象,原因在于 df 命令只报告已挂载的文件系统。/dev/sdb 的存在仅仅表示操作系统检测到了这块物理硬盘,要让它出现在 df -h 的输出中,您需要依次完成以下步骤:
- 分区:使用 
fdisk /dev/sdb等工具在sdb上创建一个或多个分区(如/dev/sdb1)。 - 格式化:使用 
mkfs命令对新建的分区进行格式化,mkfs.ext4 /dev/sdb1,为其创建文件系统。 - 挂载:创建一个挂载点(如 
mkdir /data),然后使用mount /dev/sdb1 /data命令将分区挂载到该目录。 
完成这三步后,执行 df -h 就能看到 /dev/sdb1 的空间使用情况了。
Q2:fdisk -l 显示的磁盘大小和硬盘官方标注的容量有时对不上,这是为什么?
A: 这种差异主要由两个原因造成:
- 单位换算差异:操作系统和硬件制造商对容量单位的定义不同,操作系统使用二进制计算,1 GB = 2^30 Bytes (GiB),而硬盘制造商通常使用十进制计算,1 GB = 10^9 Bytes,制造商标注的 500GB 硬盘,在操作系统中显示会略小于 500GB。
 - 分区开销和文件系统占用:当您对硬盘进行分区和格式化后,一部分空间会被用于存储分区表、文件系统元数据(如日志、超级块、inode 表等),这些空间用于管理文件,无法用于存储用户数据,格式化后的“可用”总容量会小于硬盘的原始物理容量。
fdisk -l显示的是接近物理容量的原始分区大小,而df -h显示的Size则是文件系统创建后可用于存储数据的总容量。