df -h 可查看各挂载分区的总容量、已用、剩余空间及使用率,重点关注 use% 是否超 90%;du -sh 用于定位具体目录占用,配合 sort -hr 可快速找出大目录;lsblk、df -i、ncdu 等命令辅助排查磁盘问题。

直接用 df -h 就能看到当前系统所有挂载分区的磁盘空间占用情况,包括总容量、已用、剩余和使用率,这是最常用也最有效的办法。
df -h:一眼看清各分区整体使用情况
执行 df -h 后,你会看到类似这样的输出:
-
Filesystem:磁盘设备名,如
/dev/sda1或/dev/nvme0n1p2 - Size:分区总容量(自动换算为 GB/MB,易读)
- Used:已使用空间
- Avail:剩余可用空间
- Use%:使用百分比——重点关注这个值,超过 90% 就该清理了
-
Mounted on:挂载点,比如
/(根目录)、/home、/var等
如果只想看根目录所在分区,可以加路径:df -h /;想同时看文件系统类型,加 -T: df -hT。
du -sh:定位具体哪个目录吃掉了空间
df 告诉你“哪里满了”,du 告诉你“为什么满”。常用组合:
-
du -sh /var/log:查看日志目录总大小 -
du -sh * | sort -hr | head -n 5:列出当前目录下最大的 5 个子目录 -
du -sh /home/* | sort -hr:排查用户家目录谁占得多
注意:du 统计的是文件实际占用的磁盘块,可能和 ls -lh 显示的文件大小略有差异(尤其涉及稀疏文件或硬链接时)。
其他实用补充命令
-
lsblk:列出所有磁盘和分区结构,看清哪些设备已挂载、哪些未挂载 -
df -i:检查 inode 使用率,避免“空间还有但新建不了文件”的情况 -
ncdu:交互式磁盘分析工具(需安装),支持键盘导航、快速删除,适合深度排查
不复杂但容易忽略:df 看的是文件系统级空间,du 看的是目录内容级空间。两者结果有时不一致,常见原因是被删除但仍有进程占用的文件(lsof + /proc/*/fd 可查),或挂载覆盖导致的统计偏差。











