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

atx*_*dba 9 linux bash

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

就像是

ls -lh *.jpg
Run Code Online (Sandbox Code Playgroud)

这给了我目录中所有jpg文件的总大小

Cyr*_*rus 24

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

du -csh *.jpg
Run Code Online (Sandbox Code Playgroud)

输出(例如):

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
Run Code Online (Sandbox Code Playgroud)


Kas*_*mvd 5

您可以使用此功能:

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

您也可以使用此命令,这样可以缩短操作时间并获得更好的效果!

find YOUR_PATH -type f -name '*.jpg' -exec du -ch {} +
Run Code Online (Sandbox Code Playgroud)


Nab*_*.Z. 5

对于不显示文件列表,只显示总大小,请使用:

du -ch *.php.* | grep total
Run Code Online (Sandbox Code Playgroud)

输出:

196M    total
Run Code Online (Sandbox Code Playgroud)