1. はじめに:どのフォルダが容量食い虫?
「サーバーの容量がいっぱいです」 このエラーが出たとき、私たちが知りたいのは du コマンドの全オプションではありません。「今、どこに、どれくらいデカいファイルがあるのか」、ただそれだけです。
今回は、私がメンテナンス時によく叩いている、コピペで使える便利なワンライナーを厳選してまとめました。
2.【基本】直下のディレクトリ容量を「大きい順」に並べる
まずはこれだけ覚えておけばOK、という最強のコマンドです。
du -sh * | sort -hr-sh: 「人間が読みやすい形式(GやM単位)」で「各項目を合計(summary)」して表示。sort -hr: 「数字の大きさ順(human-numeric-sort)」に「降順(reverse)」でソート。- ポイント:
sortに-hをつけることで、1.2Gが500Mより正しく上に並ぶようになります。
実行結果例

容量の大きいフォルダからソートして表示
3. 【深掘り】さらに深い階層まで一気にチェックする
直下のディレクトリだけでは原因が分からない場合に便利です。
du -h --max-depth=1 | sort -hr--max-depth=1: 指定した階層(この場合は1つ下)までの集計を表示します。- 使い分け: 数値を
2や3に変えることで、カレントディレクトリから離れずに深層の状況を把握できます。
実行結果例

深さ2までのディレクトリで容量確認した例
userの結果を見てもわかる通り、user/localの中に容量自体がある場合。user直下にファイルがない場合は無駄に表示が増えるので、まずはdepth=1か基本で重そうなディレクトリを特定してから移動後チェックしてもよいと思います。
4. 【おまけ】「重い場所」が一目でわかる!ヒートマップ風エイリアス
実行結果例

容量が大きいものが一目でわかるようになっています
「数字を読むのが面倒」という方のために、容量の占有率(%)に応じて自動で色分けするエイリアスを作成しました。
エイリアス :.bashrc や .zshrc に貼り付けてお使いください。
# 容量の重さに応じて「赤>黄>緑>白」で表示する
alias dus='du -sk ./* | sort -rn | awk '\''BEGIN{total=0; command="du -sk ."; command | getline line; split(line, a); total=a[1]; close(command)} {p=$1/total*100; if(p>20) c="\033[1;31m"; else if(p>10) c="\033[1;33m"; else if(p>5) c="\033[1;32m"; else c="\033[0m"; printf "%s%6.1f%% %s\033[0m\n", c, p, $2}'\'''
実行 dus
dusこのエイリアス(dus)でできること
実行すると、以下のようなロジックで色分けされます。
- 赤 (20%以上): 「こいつが犯人だ!」と一目でわかる最優先整理対象。
- 黄 (10%以上): なかなか重い。注意が必要なディレクトリ。
- 緑 (5%以上): 多少溜まっているが、まだ許容範囲。
- 白 (それ以外): 無視していい誤差レベル。
ポアソン分布的な「一部の巨大な塊」を視覚的にあぶり出す、実用的なツールです。(自身の.bashrcにはテンプレでコピペしてあります)
.bashrcへの追記方法やそもそも,bashrcって何?という方はこちら
【.bashrc / .zshrc】Linux設定ファイルの書き方と反映方法【Linuxコマンド入門 Part4-2】
Linuxで設定したaliasが消えてしまう?原因は設定の保存方法にあります。.bashrc / .zshrc の編集方法と source コマンドで設定を永続化する方法を初心者向けに解説。
5. 最後に:さらに詳しく知りたい方へ
今回紹介したのは、あくまで「今すぐ解決する」ための応急処置的なテクニックです。
より実践的な「容量不足の根本的な調べ方」や、他のコマンドを組み合わせた高度な自動化については、(関連記事)元記事で詳しく解説しています。
効率的なディスク管理をマスターして、快適なサーバー運用を!
関連記事
【du】du -shだけじゃない!ディレクトリごとの容量を賢く可視化するテクニック【Linuxコマンド入門 Part3-7】
linuxでディスクの使用量を確認する方法。duコマンドで、フォルダごとのディスク容量を確認できます。
Linuxでtreeコマンドがない!? 標準コマンドだけで階層表示するコピペ集
treeコマンドがないミニマルなサーバーやDocker環境でも大丈夫。findとsedを組み合わせたディレクトリ階層表示のコピペ集です。隠しファイル除外、Word貼り付け用、さらにMermaidやPlantUML図の生成コマンドまで、現場で即座に使えるワンライナーを網羅。