この質問にはすでに答えがあります:
Linuxでは、ディレクトリの下で最大のファイルや最大のディレクトリをリストするコマンドを探しています。
この質問にはすでに答えがあります:
Linuxでは、ディレクトリの下で最大のファイルや最大のディレクトリをリストするコマンドを探しています。
回答:
次のコマンドは、1レベルのディレクトリとそのサイズを表示します
du --max-depth = 1 / path | sort -r -k1,1n
それらの1つが本当に突出している場合(リストの最後の1つがのために最大sort -r
です)、そのディレクトリでコマンドを再実行し、問題のディレクトリ/ファイルが見つかるまで続けます。
必要なのが最大の10個のファイルだけなら
find / home -type f -exec du -s {} \; | sort -r -k1,1n | 頭
sort -r
かどうかに関係なく、私にとって一番下になります。トップで最大数を取得する方法はありますか?
sort
またはを含めても、昇順で低い番号から高い番号になりますsort -r
。-rの仕組みを誤解していますか?大したことではないと思います。あなたの例は非常に役に立ち、私に必要な情報を得ました。
sort
私は(持っているsort (GNU coreutils) 8.13
のUbuntu 12.04.3に)オプションが-r
仕事をしない場合-n
、すぐに次の-k
(-k1,1n
)。このオプションの順序は機能しますsort -rnk1,1
。
というユーティリティncdu
が、探している情報を提供します。
sudo apt-get install ncdu
OS Xでは、Homebrewを使用してインストールできます。
brew install ncdu
次のワンライナーを試してください(現在のディレクトリにある上位20個の最大ファイルを表示します)。
ls -1Rs | sed -e "s/^ *//" | grep "^[0-9]" | sort -nr | head -n20
または人間が読めるサイズの場合:
ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20
適切OSX / BSDの作業に2番目のコマンド(よう
sort
がない-h
)、あなたがインストールする必要がありますsort
からcoreutils
。
したがって、これらのエイリアスはrcファイルに含めると便利です(必要なときはいつでも):
alias big='du -ah . | sort -rh | head -20'
alias big-files='ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20'
du -sh /path * | sort -nr | grep G
G for GIG(小さいサイズを取り除く)ファイル/ディレクトリ
G
、ファイル名にが含まれているものをすべて検索します。