[Linux] duコマンドでディレクトリのディスク使用量を調べる

[Linux] duコマンドでディレクトリのディスク使用量を調べる

Linuxでディスク使用量を調べたい

Linuxのマシンで各ディレクトリでどれくらいのディスク容量を使用しているのか調べる方法をまとめます。

du コマンドを使用することでディレクトリの使用している合計サイズが確認できます。

du コマンド

du コマンドは指定したパスのファイルやディレクトリのサイズを調べるコマンドです。パスの指定がなければカレントディレクトリのサイズを調べます。

duコマンドのよく使うオプション

以下 du コマンドのよく使うオプションをまとめます。

オプション 説明
-a, –all ディレクトリだけでなく、すべてのファイルのサイズも表示します。
-b, –bytes サイズをバイト単位で表示します。
-k サイズをキロバイト単位で表示します。
-m サイズをメガバイト単位で表示します。
-h サイズを読みやすい形式の適当な単位で表示します。
-B, –block-size 単位を指定して表示します。出力時に単位も併せて表示します。
例: -BM, block-size=G
-s, –summarize 指定したファイルやディレクトリの総計を表示します。
-S, –separate ディレクトリのサイズにサブディレクトリのサイズを含めないように表示します。
※ディレクトリ内のファイルサイズの総計がディレクトリごとに表示されます。
-L, –dereference すべてのシンボリックリンクをたどります。
-d, –max-depth 集計するディレクトリの最大の深さを指定します。
例: -d1, max-depth=2

単位は、K、M、G、T、P、E、Z、Y(1024の累乗)またはKB、MB、…(1000の累乗)が使えます。

その他、詳細は du --help で確認できます。

使用例

.
├── .hidden
│   ├── hoge
│   └── sub
│       └── 1G
├── a
│   ├── a.txt
│   └── b.txt
├── b
│   ├── x.txt
│   └── y.txt
├── c
│   └── hoge
└── index.html

上記のようなディレクトリ構成があるとします。全ファイル、ディレクトリのサイズは du -ah で調べられます。

$ du -ah
2.0M    ./.hidden/hoge
1.0G    ./.hidden/sub/1G
1.0G    ./.hidden/sub
1.1G    ./.hidden
1.0G    ./a/a.txt
100M    ./a/b.txt
1.1G    ./a
52K     ./b/x.txt
33M     ./b/y.txt
34M     ./b
2.0G    ./c/hoge
2.0G    ./c
4.0K    ./index.html
4.2G    .

ディレクトリ内の全ファイルをサイズ順に並べて表示する

$ du -ah | sort -hr
4.2G    .
2.0G    ./c/hoge
2.0G    ./c
1.1G    ./a
1.1G    ./.hidden
1.0G    ./a/a.txt
1.0G    ./.hidden/sub/1G
1.0G    ./.hidden/sub
100M    ./a/b.txt
34M     ./b
33M     ./b/y.txt
2.0M    ./.hidden/hoge
52K     ./b/x.txt
4.0K    ./index.html

sort を使えばいい感じにサイズ順で表示できます。 h が単位部分をいい感じに比較してくれるオプションで r が降順です。小さい順にしたければ r をしてしなければよいです。

単位なしで表示したい場合は du -a | sort -nr みたいにすればよいです。

参考URL

Linuxカテゴリの最新記事