如何检查哪个目录在unix机器上占用更多空间?

时间:2014-04-30 16:21:45

标签: unix

我的unix机器上的/ local / mnt / workspace内有多个文件夹。如何知道哪个文件夹占用更多空间?有命令吗?

/local/mnt/workspace

2 个答案:

答案 0 :(得分:15)

使用命令du

du /local/mnt/workspace

仅为顶级目录获取大小:

du -k --max-depth=1 /local/mnt/workspace

以GB打印结果,

du -B1073741824 --max-depth=1 /local/mnt/workspace

答案 1 :(得分:3)

基于各种注释和排列 - 您要查找的基本命令是du(代表“磁盘使用”)。您可以使用此选项。

以最基本的形式,

du directoryName

将为您提供此下面所有目录及其大小的列表(以块为单位)。例如,在我的机器上

du /etc

结果(仅限前几行)

16  ./apache2/extra
16  ./apache2/original/extra
32  ./apache2/original
0   ./apache2/other
8   ./apache2/users
176 ./apache2

请注意,它按深度列出目录,然后在上升到某个级别时进行汇总(因此,您会看到original/extra,然后original,其中包含extra的大小。)

一些有用的标志:

-k    express result in kB rather than "blocks" (which can depend on your file system)

-s    summarize result (don't give individual directories; just the final number)

-d    go only to a certain depth (handy to see the result of directories "at your level" 
      without worrying about what goes on deeper down)

为了您的目的,一个好的命令可能是

du -k -d1 /local/mnt/workspace | sort -rn | head -5

这将为您提供workspace级别的前五个目录(就使用的空间而言)。它将以kB为单位显示您的使用情况。显然,您可以更改head的参数以更改要查看的文件数。

向@fedorqui提示,他在评论中建议使用sort