Linux命令行:du --- 如何使其仅显示每个目录的总大小

112

我正在使用coreutils_8.5-1ubuntu6_amd64来完成这个操作:

du -sch `find ./ -maxdepth 1 -type d`

我正在寻找一种简单的方法(命令更短)来查找子目录的大小。谢谢。

7个回答

130
这适用于coreutils 5.97版本:
``` du -cksh * ```

8
不可能,它并没有。 * 被 shell 展开,所以 du 无论如何都会得到一个要处理的列表。 - poige

113

在我的版本的du(来自coreutils 8.14)上,这个命令是可行的:

du -h -d 1

-h 是用于显示人类可读的文件大小。


1
很遗憾,它对我不起作用,coreutils_8.5-1ubuntu6_amd64,谢谢。 - Andrew_1510
1
这对我来说很好,尽管我将-d限制设置为0,只显示当前目录中的dir。 - Marcel
1
使用命令 du -h -d 1 / 获取根目录的大小。 - prayagupa
@Marcel -d 0 给出的是当前目录的总大小,不包括子目录,这并不是 OP 所要求的。 @Andrew_1510 如果 -d 不起作用,请尝试使用 --max-depth=。更多信息请参见:https://linux.die.net/man/1/du - Mladen B.
3
简化命令:你可以使用“du . -hd 1”。 - Burcin

23
以下内容对我有用: < p > du -hs */ 没有斜杠,输出不受目录限制。

14
这个命令会列出当前目录下所有文件和子目录的大小,以易读的方式显示。

6

实际上你可以尝试:

du -kh | cut -f1

1
所有这些答案对我都没有用,我认为某些参数取决于环境。 因此,我做了这个:
du -csh /home/pi/walala/* | grep total | sed 's/ *\stotal* *\(.*\)/\1/'

或者针对字节

du -csb /home/pi/walala/* | grep total | sed 's/ *\stotal* *\(.*\)/\1/'

这是一个很棒的。 - Etienne Jacquot

0

创建一个别名:

alias subs="du -sch `find ./ -maxdepth 1 -type d`"

我认为“subs”更短。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接