Linuxファイルシステムの各ディレクトリのサイズを取得したいとしましょう。 ls -la
を使用するとき、私は実際にはフォルダの要約サイズを取得しません。
df
を使用すると、マウントされている各ファイルシステムのサイズを取得できますが、それでも役に立ちません。そしてdu
を使うと、各サブディレクトリのサイズとファイルシステム全体の概要を取得できます。
しかし、私はファイルシステムのROOTフォルダ内の各ディレクトリの要約サイズだけを持ちたいです。それを達成するための命令はありますか?
これはあなたが探しているものです:
du -sh /*
これはどういう意味ですか。
-s
。M
、ギガバイトの場合はG
など、人間が読める形式の接尾辞には-h
を指定します(オプション)./*
は単に/
内のすべてのディレクトリ(およびファイル)に展開されます。
注:ドットファイルは含まれません。それらも含めるためにshopt -s dotglob
を実行してください。
サイズによるソートも便利です。
du -sh /* | sort -h
ここに:
-h
は、sort
が人間が読めるサフィックスを正しく解釈するようにします。私はしばしば最大のディレクトリを見つける必要があるので、私はこれをする20の最大のディレクトリを含むソートされたリストを得るために:
du -m /some/path | sort -nr | head -n 20
この場合、サイズはメガバイト単位で報告されます。
そのためには Ncdu を使うのが好きです。ディレクトリ構造それは本当にうまくいきます。
既存の答えは非常に役に立ちます、多分何人かの初心者(私のような)もこれが役に立つと思うでしょう。
非常に基本的なループですが、私にとってこれは他のサイズ関連の操作にとって良いスタートでした。
for each in $(ls) ; do du -hs "$each" ; done
最初の答えと非常によく似ており、1)とほぼ同じ結果ですが、サブディレクトリにある場合、*と./*の違いを理解するのに時間がかかりました。
du -sh ./*
次のdu
呼び出しはBSDシステムで動作するはずです。
du -d 1 /
これは簡単ではありません。 du
コマンドは、ファイルとフォルダーを表示するか(デフォルト)、またはコマンドラインで指定したすべての項目のサイズのみを表示します(オプション-s
)。
Linux上で最大の項目(ファイルとフォルダ)を人間が読めるサイズでソートして取得するには
du -h | sort -h
これは小さなファイルのトンにあなたを埋めるでしょう。 --threshold
(私の例では1 MB)でそれらを取り除くことができます。
du --threshold=1M -h | sort -h
このコマンドの利点は、隠しドットフォルダー(.
で始まるフォルダー)が含まれることです。
本当にフォルダがほしい場合は、find
を使用する必要がありますが、du
は多数のフォルダを何度もスキャンする必要があるため、非常に遅くなる可能性があります。
find . -type d -print0 | sort -z | xargs --null -I '{}' du -sh '{}' | sort -h
異なるシステム/マシン上でdu
とディレクトリを比較することはできません。両方ともファイルシステムの同じブロックサイズを共有することに注意してください。これは、Linuxマシンからnasにいくつかのファイルを再同期して、同期したディレクトリを自分自身で比較したい場合には重要です。ブロックサイズが異なるため、du
を使用すると異なる結果になる可能性があります。
ls
はawk
と組み合わせて使用できます。
ls -al * | awk 'BEGIN {tot=0;} {tot = tot + $5;} END {printf ("%.2fMb\n",tot/1024/1024);}'
ls
の出力はawk
にパイプされます。 awk
はデータの処理を開始します。標準の区切り文字はスペースです。合計変数tot
はゼロに初期化されます。 ls
が出力する行/行ごとに以下の文が実行されます。サイズに応じてtot
を増やすだけです。 $5
は5列目(ls
が出力)を表します。最後に、メガバイト単位で合計するために(1024 * 1024)で割ります。
これをスクリプトまたは関数(.bashrc)に変換する場合は、ファイルタイプに従って、それを使用してディレクトリの特定のサブセットのサイズを取得することもできます。
システム全体の情報が必要な場合は、kdirstat
が役に立ちます。
また、 xdiskusage をチェックアウトすることもできます。同じ情報を提供しますが、グラフィカルに表示されます。また、ドリルダウンすることもできます(非常に便利です)。 KDEやWindows用の他の同様のユーティリティがあります。