使用 du 和 ncdu 查看磁盘使用情况
命令行工具所有 Linux 发行版
du(disk usage)是标准的 Linux 命令,用于报告文件和目录占用了多少空间;ncdu 是一种基于 ncurses 的交互式替代工具,允许你浏览结果并删除项目。结合显示每个文件系统可用空间的 df,它们是查找磁盘占用情况的常用方法。
1有用的 du 选项
du -sh /var 打印一个易读的总计。du -h --max-depth=1 / 列出每个顶级目录的大小。-x 保留在一个文件系统中,因此会跳过已挂载的磁盘和 /proc。
管道传输到 sort 可以查找最大的项目:du -xh --max-depth=1 / | sort -h。
2ncdu
ncdu -x / 扫描根文件系统并打开按大小排序的可浏览列表。方向键移动,Enter 打开文件夹,'d' 在确认后删除所选项目,'q' 退出。ncdu 通常从发行版的软件包中安装(例如 apt install ncdu)。
3当 du 和 df 不一致时
如果 df 报告磁盘已满但 du 发现较少,则运行中的进程可能仍保持打开已删除的文件。当该进程关闭文件或重新启动时,空间将恢复。
如何查找磁盘被占满的内容
- 查看哪个文件系统已满:
df -h - 列出最大的顶级文件夹:
sudo du -xh --max-depth=1 / | sort -h - 深入最大的文件夹下一层并重复。
- 或者交互式浏览:
sudo ncdu -x /
注意事项
- 请勿删除你在
/usr、/lib、/boot或/var/lib中不认识的文件。 - 确认后 ncdu 中的 'd' 会立即删除;没有回收站。
相关文章
- df (磁盘剩余空间)如何读取 df 的输出,为什么普通用户在 Avail 降为零之前 Use% 就可能达到 100%,以及如何使用 df -i 检查 inode。
- Inodes 与“设备上没有空间”什么是 inode、如何使用 df -i 查看 inode 使用情况,以及如何查找包含数百万个小文件的目录。
- 使用 find 查找大文件和旧文件如何使用 find 在 Linux 上列出大文件或旧文件、安全地预览它们,并仅删除你已检查过的内容。
资料来源
- du(1) man7.org
- ncdu(1) (Debian) manpages.debian.org
- df(1) man7.org
说明: RainServer 为 Linux 服务器提供监控和安全清理功能;它会显示将要发生的变化并首先进行确认。
最后审核: