ディスク使用量に基づいてすべてのファイルを降順にリストしたいと思います。これ:
現在のディレクトリで最大のファイルのトップ10を一覧表示します。
du . | sort -nr | head -n10
現在のディレクトリで最大のディレクトリを一覧表示するには、次の手順を実行します。
du -s * | sort -nr | head -n10
ただし、すべてディレクトリのみが一覧表示されます。
du
出力に通常のファイルのみを含めるにはどうすればよいですか?
ボーナス:
次のdu
オプション(効果がないように見える)の目的は何ですか? :
-a, --all write counts for all files, not just directories
答え1
GNUがある場合は、du
通常のファイル(またはディレクトリまたはフィルタリングしたいすべての項目)のリストを送信する(またはzshから引数としてシェルglobを使用):find
find . -type f -print0 | du --files0-from=-
du *(.) # zsh, regular non-hidden files in the current directory
du
デフォルトでは、ディレクトリ内のファイルサイズの合計のみが印刷されますが、次のように個々のファイルサイズを印刷することもできます-a
。
% du /usr/bin
68 /usr/bin/lou_maketable.d
100 /usr/bin/vendor_perl
464 /usr/bin/core_perl
4 /usr/bin/site_perl
1104024 /usr/bin
% du /usr/bin -a | head
4 /usr/bin/preparetips5
36 /usr/bin/autoupdate
4 /usr/bin/python3.9-config
0 /usr/bin/mkoctfile
60 /usr/bin/zdump
16 /usr/bin/fstopgm
4 /usr/bin/brltty-setcaps
40 /usr/bin/sleep
8 /usr/bin/pnmquantall
20 /usr/bin/extract_mpeg2