#1 楼
du -s directory_name
或获取人类可读的输出:
du -sh directory_name
-s
选项意味着它不会列出每个子目录的大小,仅总大小。评论
实际上,根据POSIX,du的默认单位是512字节的块,在Linux上,千字节(除非设置了环境变量POSIXLY_CORRECT)或使用du -k。
–吉尔斯'所以-不再是邪恶的'
2010-10-12 17:49
@吉尔斯:好收获。我从答案中删除了“字节数”位。
–sepp2k
2010-10-12 17:53
按规定工作
–skidadon
15年5月28日在19:17
如果该目录很大,并且有很多子目录,则需要花费很多时间……将近1分钟。有没有办法使尺寸更快?
–yeahman
2015年10月15日19:59
我需要计算文件夹“ bag”的大小,du -sh bag非常好用!
–安东尼奥·阿尔梅达(AntónioAlmeida)
16 Mar 4 '16 at 12:15
#2 楼
尽管使用单独的软件包(例如ncdu)可能会很好地工作,但在一定程度上,只需给du列出要放大的文件夹列表,就可以对许多文件夹进行相同的比较。例如,比较系统上的顶级目录...cd /
sudo du -sh ./*
评论
更简单地,du -sh / *
–roaima
2015年9月10日下午17:00
#3 楼
GNUdu
带有-b
选项。请参阅
man
页面和info
页面以获取更多帮助: #4 楼
du -hd1
将以人类可读的格式列出所有目录的大小,例如
656K ./rubberband
2.2M ./lame
652K ./pkg-config
#5 楼
du -csh
-c产生总计
评论
-c与-s一起使用没有意义,对吧? -s仅显示指定目录的大小,即目录的总大小。
– Andreas Storvik Strauman
18年6月5日在10:43
#6 楼
尝试du -hax --max-depth=1 / | grep '[0-9]G' | sort -nr
这有助于查找较大的目录,然后使用
du -sh ./*
进行筛选#7 楼
您可以使用awk Velor库中的“ file-size.sh”: ls -ARgo "$@" | awk '{q += } END {print q}'
评论
这样可以得到比du更准确的计数。在两个服务器上解压缩tarball并使用“ du -s”(带或不带--bytes),您可能会看到不同的总数,但是使用此技术,总数将匹配。
–安吉洛·巴布德罗(Angelo Babudro)
19年11月18日23:52
#8 楼
您还可以使用ls -ldh: ls -ldh /etc
drwxr-xr-x 145 root root 12K 2012-06-02 11:44 /etc
-l用于长列表; -d用于显示目录信息,而不是目录的内容,-h用于以huma可读格式显示大小。
评论
这是不正确的,询问的人显然是在寻找目录的内容及其在磁盘上的内容。 @ sepp2k的答案是正确的。
–blong
2012年6月5日13:16
ls -ldh命令仅显示目录的inode结构的大小。度量标准反映了文件名索引表的大小,而不反映目录中文件内容的实际大小。
–林边小草
16年3月28日在18:19
#9 楼
我总是安装“ ncdu”软件包,并以图形方式查看所有目录的所有输出。总结。用法:
sudo ncdu /
(具有读取权限的文件夹不需要sudo
)。扫描磁盘上的磁盘使用情况统计信息将花费一些时间。整个文件系统。它具有很好的命令行图形表示,并包括使用箭头键的键盘导航,例如在扫描路径中更深或更深。您还可以通过按D删除项目。
#10 楼
我尝试使用以下命令,因为已经提供了最佳答案sudo find . -maxdepth 1 -exec du -shk {} \;| awk 'NR >1'| awk 'BEGIN{sum=1}{sum=sum+}END{print sum}'
输出
sudo find . -maxdepth 1 -exec du -shk {} \;| awk 'NR >1'| awk 'BEGIN{sum=1}{sum=sum+}END{print sum}'
679445
评论
这回答了你的问题了吗?如何在命令行上获取目录的大小?