ディレクトリのサイズを計算するにはどうすればよいですか?


回答:


230
du -s directory_name

または、人間が読み取れる出力を取得するには:

du -sh directory_name

この-sオプションは、各サブディレクトリのサイズをリストせず、合計サイズのみをリストすることを意味します。


7
実際duのデフォルトの単位は、POSIXによると512バイトブロックであり、Linux(環境変数POSIXLY_CORRECTが設定されていない場合)またはでのキロバイトdu -kです。
ジル

3
@Gilles:良いキャッチ。回答から「バイト数」ビットを削除しました。
sepp2k

1
規定通りに働いた
スキダドン

1
ディレクトリが非常に大きく、サブディレクトリがたくさんある場合、多くの時間がかかります...ほぼ1分です。それは正常ですか?サイズをより迅速に取得する方法はありますか?
yeahman

2
フォルダー「バッグ」のサイズを計算する必要がありましたが、du -sh bag完璧に機能しました!
アントニオアルメイダ

7

ncduなどの別のパッケージを使用してもうまくいく場合がありますが、サイズを大きくするフォルダーのリストを指定するだけで、ある程度、多くのフォルダーを同じように比較できます。たとえば、システムの最上位ディレクトリを比較するには...

cd /    
sudo du -sh ./*

2
もっと簡単にdu -sh /*
ロアイマ



1

試してみる

du -hax --max-depth=1 / | grep '[0-9]G' | sort -nr

これにより、大きなディレクトリを見つけて、ふるいにかけることができます。 du -sh ./*


0

ls -ldhも使用できます。

ls -ldh /etc drwxr-xr-x 145 root root 12K 2012-06-02 11:44 /etc

-lは長いリスト用です。-dは、dirの内容ではなく、dir情報を表示するためのものです。-hは、humaが読み取り可能な形式でサイズを表示するためのものです。


4
これは正しくありません。尋ねる人は、ディレクトリのフットプリントとディスク上のコンテンツを明らかに探しています。@ sepp2kの答えは正しいです。
12

1
ls -ldhコマンドは、ディレクトリのiノード構造のサイズのみを表示します。このメトリックは、ファイル名のインデックステーブルのサイズを反映していますが、ディレクトリ内のファイルコンテンツの実際のサイズではありません。
linbianxiaocao

0

私は常に「ncdu」パッケージをインストールし、すべてのディレクトリのすべての出力をグラフィカルに表示します。これは、1つのディレクトリの合計に関係なく、通常、マシンで最も多くのディスク領域を占有しているものを知る必要があるためです。

使用法:(読み取り権限があるフォルダーsudo ncdu /は不要sudoです)。

ファイルシステム全体のディスク使用統計をスキャンするには時間がかかります。コマンドラインのグラフィカルな表示があり、スキャンされたパスをより深くまたはより高く移動するなど、矢印キーを使用したキーボードナビゲーションが含まれています。を押してアイテムを削除することもできDます。



0

du -hd1

すべてのディレクトリのサイズを人間が読める形式でリストします。例えば

656K    ./rubberband
2.2M    ./lame
652K    ./pkg-config

0

すでにベストアンサーが提供されているので、以下のコマンドで試しました

sudo find . -maxdepth 1 -exec du -shk {} \;| awk 'NR >1'| awk 'BEGIN{sum=1}{sum=sum+$1}END{print sum}'

出力

 sudo find . -maxdepth 1 -exec du -shk {} \;| awk 'NR >1'| awk 'BEGIN{sum=1}{sum=sum+$1}END{print sum}'

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