如何按文件类型显示磁盘使用情况?

如何按文件类型显示磁盘使用情况?

基本上,我想知道我的驱动器上的所有磁盘空间都被占用了,我希望能够按文件类型进行分析

例如,我想使用终端查看.psd驱动器上的文件使用了多少空间。

有没有办法做这样的事?

答案1

尝试这个:

find . -iname '*.psd' -print0 | du -ch --files0-from=-
  • find . -iname '*.psd'查找所有以扩展名结尾的文件psd
  • -print0打印文件名后跟一个空字符而不是换行符
  • | du -ch --files0-from=-获取文件名find并计算磁盘使用量。选项告诉du
    • --files0-from=-计算来自 stdin ( )的由空字符分隔的文件名的磁盘使用情况,
    • 以人类可读的格式打印尺寸(-h),以及
    • 最后打印总数(-c)。

更改.psd为您想要查找磁盘使用情况的任何文件类型。

答案2

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];
    }
  }'

会产生类似

wav 78167606
psd 285955905
txt 13160

答案3

是的,你可以。在终端中搜索文件的语法是:

Syntax   :   find foldername -iname '.filetype' -size size 

Example  :   find $HOME -iname '*.mp3' -size +1M

对于你的情况,它必须像

find $HOME -iname '*.psd' -size +0M

更多信息请参见官方文档这里

相关内容