Du manページに何も表示されない状況がいくつかあります。
1)特定のサイズよりも大きいファイルのみをサブディレクトリに表示したい。 2)du -sh> du_output.txtを使用します。オプション-sおよび-hで説明したように出力が表示されます。たとえば、出力が次のような形式で出力される場合、どのように出力したいのでしょうか。
dir0--->dir1-->dir3-->dir4
| |
->dir2 |-file1
|-file2
上記がディレクトリレイアウトで、すべてのサブディレクトリ内の個々のディレクトリのサイズだけを確認したい場合は、どうすればよいですか(各サブディレクトリの深さは可変です)
サイズが1GBを超えるフォルダのみを表示するには:
du -h --threshold=1G
最大のものを簡単に見つけるために、サイズで注文することもできます。du -h --threshold=1G | sort -h
(動作するもの:Ubuntu/Mint。
以下では機能しません:OSXまたはRHEL 6.2)
代わりにfindコマンドを使用してください。次の例では、10メガバイトより大きいすべてのファイルが表示されます。
find -size +10M
次のようなfindでduを使用して、各ファイルのサイズを確認できます。
find -size +10M -exec du -sh {} \;
Mtl Devの回答がこの質問に適していると思います。 Bondがこのスレッドをタグ 'linux'と 'ubuntu-10.04'でオープンしたため。
再び、du -h --threshold=1G
(に続く | sort -h
オプションで)Ubuntuで完全に動作します。
しかし、ボンドはそれを言った、
Du manページには何も表示されません。
manページには2行あります。以下を参照してください。
-t、-threshold = SIZE
正の場合はSIZEより小さいエントリを除外し、負の場合はSIZEより大きいエントリを除外します
もう1つ、ボンドが望む正確なコマンドラインは次のようなものだと思います。
find . -mindepth 2 -type d | xargs du -sh -t 1G
いつ -mindepth 1
は、現在のパスを含む必要があると主張している-mindepth 2
はあなたの要求に応えます。
以下は、人気のあるデータセット Lisa のデモンストレーションです。
~/dataset/Lisa $ find . -mindepth 2 -type d | xargs du -sh -t 1G | sort -h
1.2G ./aiua120306-0/frameAnnotations-DataLog02142012_002_external_camera.avi_annotations
1.7G ./aiua120306-1/frameAnnotations-DataLog02142012_003_external_camera.avi_annotations
4.0G ./negatives/negativePics
6.0G ./experiments/training
~/dataset/Lisa $ find . -mindepth 2 -type d | xargs du -sh -t 1G
4.0G ./negatives/negativePics
1.2G ./aiua120306-0/frameAnnotations-DataLog02142012_002_external_camera.avi_annotations
6.0G ./experiments/training
1.7G ./aiua120306-1/frameAnnotations-DataLog02142012_003_external_camera.avi_annotations
~/dataset/Lisa $ find . -mindepth 2 -type d | xargs du -sh -t 3G
4.0G ./negatives/negativePics
6.0G ./experiments/training
find /path/to/folder -size +100k
ある値より大きい個々のファイルのサイズを見たいのか、それともfoldersある値より大きいのを見たいのかは明確ではありません。