【Linux】ディレクトリサイズの確認方法
こんにちわ、ぶらじるです。
業務でLinuxを使用しているのですが、たまに自分がどの程度DISK領域を使用しているのか分からず、いちいちコマンドを調べて「あぁ、そうやった...」となっているため、技術的な備忘録としてLinux上においてディレクトリサイズを確認する方法を記載しておきます。
※今回も箸休めだと思って、生暖かい目で見守ってください。笑
duコマンド
Linux上で自分のDISKの使用量を確認するにはduを打てば良いです。
du [オプション] [ファイルorディレクトリ]
例えば具体的には下記になります。
du -sh ./hoge/hage/moge/
この場合、hoge配下のhage配下のmogeという名前のディレクトリについて、
いい感じの読みやすい単位で合計サイズを表示してね♪
となります。
主なオプション
- -S サブディレクトリの"サイズ"を含めない
- -s 指定したディレクトリの"合計サイズ"のみを表示する。
※サブディレクトリの行が表示されなくなるので可読性が上がります。 - -H 読みやすい単位で表示する。
※1024単位ではなく1000単位の値を使用することに注意する。 - -h 読みやすい単位で表示する。
※1024単位でGiga, Mega, Kiro Byte単位で表示される。
さらに詳細なオプションの説明は、他プログラマーの方々が記載していますので、ここでは割愛させていただきます。適宜、参考資料をご参照ください。
duコマンド
duコマンド
du -h ./
実際にduコマンドを実行してみます。ひとまず、今居る場所の全てのディレクトリについて、いい感じの表示でディレクトリサイズを表示します。
duコマンドの結果
1.6M ./hoge/hage/mona/
26M ./hoge/hage/moge/
2.4M ./hoge/hage/mone/
237M ./hoge/hage/mane/
4.0K ./hoge/hage/mazo/
...
この場合、duコマンドでそれぞれのサイズは確認できますが、数が膨大な場合、ひたすらサイズとファイル・ディレクトリ名が流れてくるので可読性が悪いです。
特に、ファイル・ディレクトリサイズが大きいものを探したい場合、いちいち目視で探さなければならず、全く効率的ではありません。
そこで、duコマンド結果をソートする、というコマンドを使用します。
duコマンド結果をソート
du --max-depth=3 -h | sort -hr
-rは降順するオプションです。また、--max-depth=深さは、集計したいディレクトリの深さを指定するオプションです。もしもhoge階層で調べたい場合は=1にすればOKです。
duコマンド結果をソートした結果
237M ./hoge/hage/mane/
26M ./hoge/hage/moge/
2.4M ./hoge/hage/mone/
1.6M ./hoge/hage/mona/
4.0K ./hoge/hage/mazo/
ディレクトリサイズが大きい順に並べて表示させることができました。とても便利なコマンドなので、aliasに設定するなどして使用してみてください。
参考
- atmakitさんの「【 du 】コマンド――ディスクの使用量を表示する」
- @shuheiさんの「du -h などの結果を簡単にソートする」
以上です。