使用终端列出当前文件夹的大小?

使用终端列出当前文件夹的大小?

我想要当前目录中的文件夹列表或我指定其大小的文件夹列表。

我已尝试使用 du,但我只得到我指定目录的大小(du . ./f1),而 ls 没有显示文件夹的大小。

如果不编写任何脚本我该如何做到这一点?

答案1

如果要显示当前目录中的所有目录:

$ du -sh */
788K    foo/
500K    bar/
931K    baz/

要从另一个目录开始显示它们:

$ du -sh /path/to/dir/*/
48K     /path/to/dir/dir1/
4.0K    /path/to/dir/dir2/
6.7M    /path/to/dir/dir3/
20K     /path/to/dir/dir4/
8.0K    /path/to/dir/dir5/
44K     /path/to/dir/dir6/

如果您想确保包含名称以点开头的目录,请先执行shopt -s dotglob

答案2

在 Mac 上,--max-depth 选项被 -d [depth] 取代。因此,要查看根驱动器加 2 个深度的可读列表,请使用以下命令:

du -hd 2 /* 

注意:此命令将显示根目录下的顶部两个目录级别。 这包括遍历你的卷的一个级别,并将列出每个附加卷中每个顶级目录的摘要大小。根据您附加的内容,此命令可能需要一些时间才能完成。

答案3

另一种方法是--max-depth选项。

du -h --max-depth=1 .

将列出当前文件夹下的所有目录和文件及其大小。

深度 2 将列出另一级别的文件夹。

答案4

根据已接受的答案,此命令将显示目录中文件夹的大小,还会按大小列出它们,以便您更轻松地解释:

$ du -sh */ | sort -rn

相关内容