我想从当前目录中找到一个文件夹列表,或者是我指定的文件夹大小。 ),而ls不显示文件夹的大小。

如何在不编写脚本的情况下执行此操作?

评论

不是听起来像个混蛋,而是'man du';)

谢谢;-),但我已经尝试过了,找不到任何东西。并尝试Googling du!

#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

评论


感谢所有出色的答案,但这是最简单的答案。我忘记了测试的结局。

–凯文
2010年8月5日在6:43

-s表示摘要,显示总计,-h表示可读

– wranvaud
17-10-30在12:53

按大小对文件夹排序:du -s * / |排序-n。

–安东·塔拉森科(Anton Tarasenko)
18年11月1日在16:28

@AntonTarasenko:对人类可读的大小进行排序

–丹尼斯·威廉姆森
18年11月1日在20:58

@AntonTarasenko:shopt -s dotglob文档

–丹尼斯·威廉姆森
18年4月4日在15:25

#2 楼

在Mac上,--max-depth选项由-d [depth]代替。因此,要查看根目录驱动器的可读清单以及2个层次的深入信息,请使用以下命令:根。这包括将一级遍历到您的卷中,并将列出每个附加卷中每个顶级目录的摘要大小。根据您所附加的内容,此命令可能需要一些时间才能完成。

#3 楼

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

du -h --max-depth=1 .


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

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

评论


在Mac上,它是du -hd 2。 2级深度。

–瑞安
2014年8月2日在2:12



是的。而且可能在FreeBSD上也是如此。谢谢(你的)信息。

–matthias krull
2014年8月7日在11:25

#4 楼

请尝试:

$ du -s ./f1




$ du -sh ./f1


以获得更友好的可读尺寸。

#5 楼

在接受的答案的基础上,此命令将显示目录中文件夹的大小,并按大小列出它们,以使您更容易理解:

$ du -sh */ | sort -rn


#6 楼

$ du --max-depth=1 /var/www/ | sort -n -r

评论


在使用现有答案为较旧的问题添加答案时,最好的做法是解释您的答案与众不同之处,并包括一些说明,以便它不是仅命令的答案。

–杰森·艾勒(Jason Aller)
15年6月30日在16:41

您能否扩展答案以解释参数的作用?

–fixer1234
15年6月30日在18:59

#7 楼

值得一提的是“ NCurses磁盘使用情况” shell命令。


Ncdu是具有ncurses接口的磁盘使用情况分析器。它被设计为在没有完整图形设置可用的远程服务器上查找太空猪,但是即使在常规台式机系统上,它也是一个有用的工具。 Ncdu旨在快速,简单和易于使用,
并且应该能够在安装了
ncurses的任何最小的POSIX类似环境中运行。


#8 楼

在Mac上,您可以使用Homebrew(du)安装brew install coreutils的GNU(Linux)实现。
然后例如: gdu的实现(默认情况下Homebrew不隐藏du);

/usr/bin/du为指定的文件夹产生总计(如果要查看细目分类,则省略);输出人类可读的大小;

s遵循符号链接;

h排除指定文件夹内的git目录(这只是一个示例)。

您可以通过添加L来忽略更多文件夹。您还可以一次指定多个文件夹(即--exclude=.git),在这种情况下,可以使用选项--exclude=blah将所有小计合并为单个大小。

#9 楼

这是可以使用的POSIX脚本:


文件
文件
目录
目录

 #!/bin/sh
ls -ARgo "$@" | awk '{q += } END {print q}'
 




#10 楼

我喜欢以下方法:
du -schx .[!.]* * | sort -h

其中:


s:仅显示每个参数的总数总计

c:以人类可读的格式打印大小

h:跳过不同文件系统上的目录

x:汇总以下文件的磁盘使用情况每个文件,递归地查找目录(包括“隐藏”的目录)

.[!.]* *:基于人类可读的数字(例如2K 1G)进行排序