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 みたいにすればよいです。
コメントを書く