Linux duコマンド入門
ディスク使用量を確認する
duコマンドは、ファイルやディレクトリのディスク使用量を調べるコマンドです。どのディレクトリが容量を消費しているかを特定するのに役立ちます。
こんな人向けの記事です
- ディスク容量が不足している原因を調べたい人
- 大きなファイルやディレクトリを特定したい人
- ディスク使用量を定期的に監視したい人
Step 1duコマンドの基本
duコマンドをディレクトリに対して実行すると、サブディレクトリごとの使用量が表示されます。
ターミナル
# カレントディレクトリの使用量
du
# 人間が読みやすい形式で表示(K, M, G)
du -h
Step 2よく使うオプション
duの主要なオプション一覧です。
| オプション | 説明 |
|---|---|
-h | 人間が読みやすい形式(K, M, G)で表示 |
-s | 合計のみ表示(サブディレクトリを展開しない) |
-d N | 表示する深さをN階層に制限 |
-a | ファイルも含めて表示 |
-c | 最後に総合計を表示 |
--exclude | 特定のパターンを除外 |
Step 3特定ディレクトリの容量を調べる
特定のディレクトリの使用量を調べる方法です。
ターミナル
# 特定ディレクトリの合計サイズ
du -sh /var/log
# 複数ディレクトリをまとめて確認
du -sh /var/log /var/cache /tmp
# 1階層目のサブディレクトリごとのサイズ
du -h -d 1 /var
-sh は最も頻繁に使う組み合わせ
du -sh(summary + human-readable)は「このディレクトリのサイズを知りたい」という場面で最も使用頻度が高いオプションです。
Step 4大きいディレクトリを見つける
sortコマンドと組み合わせて、容量の大きいディレクトリを素早く特定します。
ターミナル
# サイズの大きい順にソート
du -h -d 1 /var | sort -rh | head -10
# /home以下で100MB以上のディレクトリ
du -h -d 2 /home | sort -rh | head -20
# 特定パターンを除外して調査
du -h -d 1 --exclude='*.log' /var
Step 5実践的な活用例
ディスク容量の問題解決でよく使うパターンです。
ターミナル
# ルートから容量消費の多い場所を特定
sudo du -h -d 1 / 2>/dev/null | sort -rh | head -10
# ログファイルの容量確認
du -sh /var/log/*
# Dockerの容量確認
du -sh /var/lib/docker
# ユーザーごとのホームディレクトリ使用量
du -sh /home/* | sort -rh
du と df の違い
du:ファイル・ディレクトリ単位の使用量を調べるdf:パーティション(ディスク)全体の空き容量を調べる
「どこが容量を食っているか」は du、「あとどれくらい空きがあるか」は df を使います。