如何在 Linux 中获取消耗大量磁盘空间的“/”文件夹的顶级直接子文件夹

如何在 Linux 中获取消耗大量磁盘空间的“/”文件夹的顶级直接子文件夹

我在 Linux 中遇到磁盘空间已满的问题。当使用命令检查时,df我发现'/'目录占用了100%。因此,为了检查哪些文件夹占用了很多空间,我运行了cd /du -sh.但运行该命令需要很长时间。但最终我想了解“/”文件夹的哪些顶级直接子文件夹正在消耗大量磁盘空间的详细信息。那么任何人都可以说出相同的命令吗?

答案1

du -h --max-depth=1 / | sort -h -r

这将显示每个文件夹,包括//本身。

请注意,扫描所有文件可能需要很长时间。如果您需要文件夹中子文件夹的任何特定大小,请指定该文件夹的确切路径,或者如果您已位于该文件夹中,/则直接跳过。/

  • -h选项以人性化的格式显示尺寸
  • --max-depth=1指示命令仅进入内部深处的 1 个目录/
  • sort -h -r使用人类友好的大小对结果进行排序,并-r指示命令以相反的顺序显示结果(从最大到最小的目录)

答案2

此命令将按顺序列出 15 个最大的:

du -xhS | sort -h | tail -n15

我们使用该-x标志来跳过单独文件系统上的目录。

上面-h给出du了人类可读格式的输出,sort -h然后可以按顺序排列。

-S命令上的表示du不包括子目录的大小。

您可以更改 的数量tail以查看更少或更多。超级方便的命令。

答案3

另外两个显示已用磁盘空间的开源命令行工具是:

NCDU:在大多数 Linux 发行版的存储库中都可以找到。

磁盘使用率最高(tdu) :一个没有依赖项的静态二进制文件,用 Golang 编写。

在此输入图像描述

答案4

该命令du -hs /*将单独列出所有顶级目录。

相关内容