在 Linux 系统运维与服务器管理中,快速、准确地查看磁盘分区信息是保障系统稳定性和数据安全的基础技能。查看 Linux 分区最核心且高效的命令是 lsblk,它能以树状结构直观展示块设备、挂载点及分区关系;若需查看更底层的分区表详情,fdisk -l 是最佳选择;而关注磁盘空间使用情况时,则应使用 df -h。 掌握这三把“利剑”,并结合 parted 等工具处理大容量硬盘,基本可以覆盖 99% 的分区查看需求。

使用 lsblk 命令:直观查看分区树状结构
lsblk(List Block Devices)是现代 Linux 发行版中最推荐的分区查看工具,它默认会以树状图的形式列出所有块设备,清晰展示磁盘与分区的从属关系,无需任何参数即可获得极佳的可读性。
核心参数与输出解读:
执行 lsblk 后,输出通常包含 NAME(设备名)、MAJ:MIN(主次设备号)、RM(是否为可移动设备)、SIZE(大小)、RO(只读状态)、TYPE(类型)、MOUNTPOINT(挂载点)等关键列。
- 查看文件系统与 UUID: 使用
lsblk -f参数,这是排查挂载问题时的神技,它会额外显示 FSTYPE(文件系统类型,如 ext4、xfs)、UUID(通用唯一识别码)和 LABEL(卷标),UUID 在配置/etc/fstab实现自动挂载时至关重要,因为它不随设备名(如 sda1、sdb1)的改变而变化。 - 查看设备所有者与权限: 使用
lsblk -m,可以列出每个设备的拥有者、组和权限模式,有助于排查多用户环境下的磁盘访问权限问题。
对于大多数日常运维场景,lsblk -f 提供的信息最为全面且平衡,既看到了物理结构,又看到了逻辑文件系统属性。
使用 fdisk -l 命令:深入分析分区表细节
当需要查看磁盘的分区表类型(MBR 或 GPT)、具体的起始扇区与结束扇区等底层信息时,fdisk -l 是传统的专业工具,需要注意的是,该命令通常需要 root 权限才能执行。
核心信息解读:
执行 sudo fdisk -l 会列出系统所有磁盘的详细分区表。

- Disk 标识符: 输出开头的
Disk /dev/sda: ...会显示磁盘的具体大小和逻辑扇区大小(通常为 512 字节或 4KB)。 - 分区表类型: 关注输出中的
Disklabel type,它明确指出了该磁盘使用的是dos(MBR)还是gpt(GUID 分区表),MBR 支持 2TB 以下分区且最多 4 个主分区,而 GPT 则支持大容量硬盘和更多分区,这是扩容磁盘时必须确认的前提。 - Boot 标志: 在
Flags列中,若有 号,表示该分区为启动分区,这在系统无法启动排查引导故障时非常关键。
虽然 fdisk 交互模式下主要用于修改分区,但其 -l 参数提供的只读信息是诊断磁盘分区逻辑错误的重要依据。
使用 df -h 命令:监控磁盘空间使用率
与前两者关注物理结构不同,df -h(Disk Free)关注的是文件系统的空间使用状态,这是判断磁盘是否写满、是否需要清理日志的关键命令。
- 人类可读格式:
-h参数将字节自动转换为 KB、MB、GB,极大提升了阅读体验。 - 文件系统类型: 结合
-T参数使用(即df -hT),可以同时看到文件系统类型(如 ext4, tmpfs, overlay),这在 Docker 容器或虚拟化环境中尤为重要,因为overlay等存储驱动往往容易耗尽 inode 或空间。
专业建议: 在编写监控脚本时,应优先解析 df -hT 的输出,设定阈值(如 85%)报警,而非仅仅查看分区是否存在。
使用 parted 命令:应对 GPT 与大容量磁盘
随着服务器硬盘容量普遍向 TB 级别发展,传统的 MBR 分区表逐渐被 GPT 取代。fdisk 虽然也能查看 GPT,但 parted 命令对 GPT 的支持更为原生和完善。
- 查看特定磁盘详情: 使用
parted /dev/sda print可以打印出指定磁盘的分区表信息。 - 对齐检测:
parted会自动检测分区是否对齐,这对 SSD 硬盘的性能影响巨大,如果分区未对齐,SSD 的读写性能会大幅下降,parted的输出会给出明确的警告。
进阶场景:LVM 与 RAID 分区的识别
在复杂的服务器环境中,物理分区往往不直接存储数据,而是作为 LVM(逻辑卷管理)或 RAID(磁盘阵列)的底层物理卷。

- LVM 识别: 如果在
lsblk的输出中 TYPE 显示为LVM,或者挂载点指向/dev/mapper/centos-root,说明系统使用了 LVM,此时单纯查看/dev/sda2并无实际意义,必须使用lvs(逻辑卷查看)、vgs(卷组查看)和pvs(物理卷查看)命令来追踪真正的存储空间分配。 - 软件 RAID: 若 TYPE 显示为
md,则表示这是 Linux 软件 RAID,需要结合cat /proc/mdstat来查看 RAID 的级别(如 RAID1、RAID5)以及同步状态。
独立见解与解决方案:
很多初学者容易混淆“物理分区”与“文件系统可用空间”,一个物理分区(Partition)创建后,如果不格式化并挂载,对用户来说是不可见的,反之,df 显示空间已满,但 lsblk 显示分区很大,可能是 inode 耗尽(常见于大量小文件场景),此时需使用 df -i 检查 inode 使用率。排查磁盘问题的标准流程应是:先用 lsblk 看结构,再用 df -h 看空间,最后用 fdisk -l 或 parted 看底层逻辑。
相关问答
Q1:为什么我在 lsblk 中看到了分区,但 df -h 中却没有显示?
A: 这种情况通常是因为该分区虽然已经创建,但尚未进行格式化(创建文件系统),或者格式化后没有挂载到系统的目录树中。lsblk 展示的是内核识别到的块设备,而 df -h 仅展示已挂载且内核已统计的文件系统空间,解决方法是使用 mkfs(如 mkfs.ext4)对该分区进行格式化,然后使用 mount 命令将其挂载到一个空目录。
Q2:如何查看 Linux 系统中是否有未分配的磁盘空间?
A: 可以使用 fdisk -l 或 parted /dev/sda print 命令,查看输出中的分区列表,计算所有分区的结束扇区,如果最后一个分区的结束扇区小于磁盘的总扇区数,中间的空隙即为未分配空间,在 parted 中,如果输出显示有 Free Space 区域,则明确表示存在未分配的可用空间,可以用于创建新分区或扩容现有分区。
能帮助您全面掌握 Linux 分区的查看方法,如果您在实际操作中遇到特殊的磁盘阵列配置或文件系统报错,欢迎在评论区留言,我们一起探讨解决方案。


















