Linux磁盘管理最常用命令是df和fdisk:df查看已挂载文件系统的空间使用(如df -h、df -i),fdisk查看物理磁盘分区结构(如fdisk -l),二者需配合使用才能准确定位磁盘问题。

Linux磁盘管理最常用的两个命令是 df 和 fdisk,它们分工明确:df 看“用了多少、还剩多少”,fdisk 看“硬盘怎么分的、有哪些分区”。用错场景容易白忙活——比如磁盘满了想扩容,却只用 df 查空间,却没用 fdisk 看分区是否还有未分配空间。
df:查已挂载文件系统的使用情况
df 显示的是当前已挂载(mounted)的文件系统空间占用,不关心底层物理硬盘结构,只告诉你每个挂载点(如 /、/home、/var)的容量、已用、可用和使用率。
-
最常用组合是
df -h:以易读单位(G/M/K)显示,一眼看出哪个分区快满了 -
加
-T同时看文件系统类型:比如 ext4、xfs、tmpfs,对排查兼容性或性能问题有帮助 -
加
-i查 inode 使用率:即使磁盘空间充足,inode 耗尽也会导致“磁盘满”报错(常见于日志或小文件极多的场景) -
加
-x tmpfs或-t ext4可过滤掉虚拟文件系统或只看特定类型
fdisk:查物理磁盘与分区结构
fdisk 不显示空间使用,它面向的是硬盘设备本身(如 /dev/sda、/dev/nvme0n1),用来查看分区表、起始结束柱面、文件系统标识(Id)、是否为启动分区等。它是做分区调整(新建/删除/修改)前的必查步骤。
-
核心命令是
fdisk -l:列出所有识别到的磁盘及分区详情,包括总容量、分区编号、大小、类型(如 83 Linux、82 Linux swap) - 注意区分 /dev/sda(整块盘)和 /dev/sda1(第一个分区):df 显示的是后者挂载后的使用情况;fdisk -l 才告诉你 sda 上有没有 sda2、sda3,或者有没有未分配空间
- 看到 “Extended” 和 “Logical” 分区要留意:传统 MBR 分区下,逻辑分区(如 sda5)必须在扩展分区内,不能直接新建主分区
- 新硬盘或扩容后必须先用 fdisk -l 确认系统识别到了设备:如果连设备都没列出来,df 自然也查不到对应挂载点
df 和 fdisk 配合使用的典型场景
单看一个命令容易误判。例如根分区 / 使用率达 98%,你可能立刻删日志,但其实真正原因是:
- df 显示 /dev/sda2 已满 → 先确认是不是这个分区挂载在 /
- fdisk -l 发现 /dev/sda 还有 50G 未分区空间 → 可扩容该分区(需配合 resize2fs 或 xfs_growfs)
- fdisk -l 显示只有 sda1(/boot)和 sda2(/),但 df -T 提示 /var 在 sda2 上 → 说明 /var 是子目录,不是独立分区,清理 /var/log 才有效
- df -i 发现 / 的 inode 使用率 100% → 即使 df -h 显示还有 20G 空间,也要找大量小文件(如临时缓存、邮件队列)清理
替代与补充命令建议
fdisk 和 df 是基础,但现代运维中常搭配其他命令提高效率:
-
lsblk -f:比 fdisk -l 更简洁直观,树形展示磁盘→分区→挂载点+文件系统类型,适合快速定位 -
du -sh /* 2>/dev/null | sort -hr:快速找出根下哪个目录占空间最多,配合 df 定位问题源头 -
find /var/log -name "*.log" -mtime +30 -delete:在确认是日志膨胀后,安全清理旧日志(注意备份关键日志) - 注意:
du统计的是文件实际大小,df统计的是文件系统块占用,两者数值可能因稀疏文件、硬链接、保留块(root reserved)而略有差异
基本上就这些。掌握 df 看“水位”,fdisk 看“水库结构”,再辅以 du 定位“哪条支流在漏水”,磁盘管理就不复杂但容易忽略细节。










