Rain WikiWindows · Linux · Android

使用 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 发现较少,则运行中的进程可能仍保持打开已删除的文件。当该进程关闭文件或重新启动时,空间将恢复。

如何查找磁盘被占满的内容

  1. 查看哪个文件系统已满:df -h
  2. 列出最大的顶级文件夹:sudo du -xh --max-depth=1 / | sort -h
  3. 深入最大的文件夹下一层并重复。
  4. 或者交互式浏览:sudo ncdu -x /

注意事项

  • 请勿删除你在 /usr、/lib、/boot 或 /var/lib 中不认识的文件。
  • 确认后 ncdu 中的 'd' 会立即删除;没有回收站。

资料来源

  1. du(1) man7.org
  2. ncdu(1) (Debian) manpages.debian.org
  3. df(1) man7.org

说明: RainServer 为 Linux 服务器提供监控和安全清理功能;它会显示将要发生的变化并首先进行确认。

最后审核: