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


9

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

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

有办法做这种事吗?

Answers:


12

尝试这个:

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

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


如何按大小对输出进行排序?
ulkas 2015年

0

更一般而言,您可以结合使用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

-1

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

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

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

对于您的情况,它必须像

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

有关更多信息,请参见此处的官方文档。


是的,但这只会打印 + 0M的文件名,实际上不会告诉我它们的大小。
Alaa Ali 2014年

是的,我看到了您的答案很完美!
PAC
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.