Pet*_*ete 12 command-line disk-usage
基本上我想知道我的驱动器上的所有磁盘空间都在哪里被吃掉了,我希望能够按文件类型进行分析
例如,我想使用终端查看.psd
驱动器上的文件使用了多少空间。
有没有办法做这样的事情?
Ala*_*Ali 14
尝试这个:
find . -iname '*.psd' -print0 | du -ch --files0-from=-
Run Code Online (Sandbox Code Playgroud)
find . -iname '*.psd'
查找所有以扩展名结尾的文件 psd
-print0
打印文件名后跟一个空字符而不是换行符| du -ch --files0-from=-
从中获取文件名find
并计算磁盘使用情况。选项告诉du
:
--files0-from=-
)计算由空字符分隔的文件名的磁盘使用情况,-h
)打印尺寸,以及-c
)。更改.psd
为您想要查找磁盘使用情况的任何文件类型。
更一般地,你可以使用的组合find
,并awk
以报告的磁盘使用情况由您选择的任何规则分组。这是一个按文件扩展名分组的命令(无论出现在最后一个句点之后):
# output pairs in the format: `filename size`.
# I used `nawk` because it's faster.
find -type f -printf '%f %s\n' | nawk '
{
split($1, a, "."); # first token is filename
ext = a[length(a)]; # only take the extension part of the filename
size = $2; # second token is file size
total_size[ext] += size; # sum file sizes by extension
}
END {
# print sums
for (ext in total_size) {
print ext, total_size[ext];
}
}'
Run Code Online (Sandbox Code Playgroud)
会产生类似的东西
wav 78167606
psd 285955905
txt 13160
Run Code Online (Sandbox Code Playgroud)