我想要当前目录中的文件夹列表或我指定其大小的文件夹列表。
我已尝试使用 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