ファイルの種類ごとにディスク使用量を表示するにはどうすればよいですか?


9

基本的に、ディスク領域がドライブのどこで使い果たされているのだろうと思います。ファイルの種類ごとに分析したいと思います。

たとえば、ターミナルを使用して.psd、ドライブ上のファイルによって使用されている容量を確認します。

そのようなことをする方法はありますか?

回答:


12

これを試して:

find . -iname '*.psd' -print0 | du -ch --files0-from=-
  • find . -iname '*.psd' の拡張子で終わるすべてのファイルを検索します psd
  • -print0 改行の代わりにnull文字が後に続くファイル名を出力します
  • | du -ch --files0-from=-からファイル名findを取得し、ディスク使用量を計算します。オプションは次のことduを伝えます。
    • stdin(--files0-from=-)からnull文字で区切られたファイル名のディスク使用量を計算します。
    • 人間が読める形式でサイズを印刷する(-h)、および
    • 最後に合計を印刷します(-c)。

.psdディスク使用量を検索するファイルタイプに変更します。


サイズ別に出力を並べ替える方法
ulkas

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

はい、あなたの答えは完璧だと思いました!
PAC
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.