用于查找与通配符匹配的文件总大小的简短命令

时间:2014-07-23 19:45:13

标签: linux bash

我可以设想一个简单的shell脚本,它可以通过遍历目录中的文件列表并总结单个大小来实现我想要的,但是想知道是否已经有更简洁的方法来做到这一点。

类似

ls -lh *.jpg

它给出了目录中所有jpg文件的总大小

3 个答案:

答案 0 :(得分:19)

尝试du估算文件空间使用情况:

du -csh *.jpg

输出(例如):

8.0K sane-logo.jpg
16K sane-umax-advanced.jpg
28K sane-umax-histogram.jpg
24K sane-umax.jpg
16K sane-umax-standard.jpg
4.0K sane-umax-text2.jpg
4.0K sane-umax-text4.jpg
4.0K sane-umax-text.jpg
104K total

答案 1 :(得分:4)

您可以使用此功能:

dir () { ls -FaGl "${@}" | awk '{ last_size += $4; print }; END { print last_size }'; }

你也可以使用这个命令,这个更短,给你更好的结果!

find YOUR_PATH -type f -name '*.jpg' -exec du -ch {} +

答案 2 :(得分:0)

对于不显示文件列表,仅显示总大小,请使用以下方法:

du -ch *.php.* | grep total

输出:

196M    total