如何在不编写脚本的情况下执行此操作?
#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)进行排序
评论
不是听起来像个混蛋,而是'man du';)谢谢;-),但我已经尝试过了,找不到任何东西。并尝试Googling du!