最もスペースを消費するディレクトリまたはファイルを見つける方法は?


11

ディスクの容量が不足しています:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
...
/dev/sda7       803G  715G   48G  95% /home

ホームディレクトリ全体を検索し、スペースを消費する上位10個のディレクトリまたはファイルを見つけて、削除するユーザーを決定します。

du -sh *すべてのサブディレクトリのサイズを確認できますが、現在のフォルダのみを取得します。必要な犯人を特定するために、それぞれ多くのサブディレクトリに再帰的に分割する必要があるかもしれません。

これを行う良い方法はありますか?

回答:



10

ncduは、ディレクトリをスキャンし、ディスク使用量を最高から最低まで一覧表示するコマンドラインオプションです。これが私のツールです。

それでもこの方法で再帰的にダイビングする必要がありますが、それはそれを行うための素晴らしい簡単な方法です。


9

次のコマンドを使用します。

t=$(df|awk 'NR!=1{sum+=$2}END{print sum}');du / –exclude /proc –exclude /sys –max-depth=1|sed '$d'|sort -rn -k1 | awk -v t=$t 'OFMT="%d" {M=64; for (a=0;a<$1;a++){if (a>c){c=a}}br=a/c;b=M*br;for(x=0;x<b;x++) {printf "\033[1;31m" "|" "\033[0m"}print " "$2" "(a/t*100)"% total"}'

コマンドラインにグラフのようなものが表示され、スペースを最も消費しているディレクトリがパーセンテージで表示されます。

/homeのみを分析する場合は、次のようにコマンドでこれを指定できます。

t=$(df|awk 'NR!=1{sum+=$2}END{print sum}');du /home –exclude /proc –exclude /sys –max-depth=1|sed '$d'|sort -rn -k1 | awk -v t=$t 'OFMT="%d" {M=64; for (a=0;a<$1;a++){if (a>c){c=a}}br=a/c;b=M*br;for(x=0;x<b;x++) {printf "\033[1;31m" "|" "\033[0m"}print " "$2" "(a/t*100)"% total"}'

次のようになります。 ここに画像の説明を入力してください

ここから撮影。


9

デュ| ソート-rn | 頭

  • du =ディスク使用量
  • 数値順で並べ替え、逆順
  • 最初の10行

4

バオバブの+1。コマンドラインでは、通常、du -hcsx *orを使用するだけでdu -hcsx * | sort -h(最新バージョンのFailryが必要ですsort)、その後、サブディレクトリをチェックします。

また、mc押して、サブディレクトリのサイズを計算する巧妙な機能があるCtrl+をSpace押して(その上にはCtrl+ Spaceの上に..、それはすべてのサブディレクトリのサイズを計算するようにする。そして、あなたがメニューにサイズでソートを選択することができます。


2
コマンドラインで、ncduを試してください。基本的にはncurses duです。
ロブ


0

別のGUIのお気に入り:kdirstat

優れたドリルダウン機能と、ファイルの削除/圧縮に役立つ(拡張可能な)ツールメニューがあります。

また、pastebinにアップロードしたdir_usageを呼び出すコマンドラインスクリプトもあります。


-1
find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}

上記のコマンドラインは、次のことを順番に実行します。

  • 現在のフォルダー内のすべてのファイル(ディレクトリではない)を検索する
  • それぞれの使用状況を表示する
  • 結果を数値で並べ替える
  • 最後の10行(使用率が最も高い)行のみを使用する
  • 10個のファイル名を切り取ります(最初の列は使用法、2番目はファイル名です)
  • 各ファイル名の使用状況を表示します(人間形式)

これにより、現在のフォルダーおよびサブフォルダー内の最大10個のファイルの人間が読めるサイズのリストが作成されます。


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