Linuxを使う上で、ファイルやディレクトリがどれだけディスクスペースを消費しているのかを把握することは重要です。特にストレージ容量が限られている環境では、どのファイルやフォルダが容量を圧迫しているのかを迅速に特定する必要があります。そんなときに役立つのが、今回紹介するdu
コマンドです。
この記事では、Linux初心者から中級者を対象に、du
コマンドの基礎から応用的なテクニックまで詳しく解説します。この記事を最後まで読むことで、ディスク使用量を効率的に把握し、ストレージ管理スキルを向上させることができます。それでは早速、du
コマンドの魅力に迫っていきましょう!
duコマンドの基本的な使い方
du
は「disk usage」(ディスク使用量)の略で、ファイルやディレクトリのディスク使用量を確認するためのコマンドです。以下の基本構文を覚えておくと便利です。
du [オプション] [対象のパス]
基本的な実行例
現在のディレクトリのディスク使用量を調べたい場合は、以下のように実行します。
du
このコマンドを実行すると、ディレクトリ内の各ファイルやサブディレクトリのサイズが表示され、最後に合計使用量が示されます。
実行結果例
$ du
4 ./documents
8 ./photos
12 .
この例では、documents
ディレクトリが4KB、photos
ディレクトリが8KB、そして全体で12KBのディスク容量を消費していることがわかります。
注意点
- デフォルト単位:
du
コマンドで表示されるサイズは、デフォルトでキロバイト(KB)単位です。この単位はオプションで変更可能です。 - 隠しファイルの計算: 隠しファイル(
.
で始まるファイル)も含めて計算されます。
duコマンドの主要なオプション
du
コマンドには多くのオプションが用意されており、それらを使い分けることで情報を効率的に取得できます。ここでは、よく使われる主要なオプションを例とともに紹介します。
1. -h(人間が読みやすい形式で出力)
-h
オプションを使うと、出力をKB、MB、GBの単位で読みやすく表示できます。
du -h
実行結果例
$ du -h
4.0K ./documents
8.0K ./photos
12K .
このオプションを使うことで、ファイルサイズを直感的に把握しやすくなります。
2. -s(合計のみを表示)
-s
オプションを使うと、ディレクトリごとの詳細を省略し、合計のディスク使用量のみを表示します。
du -s
実行結果例
$ du -s
12
この結果から、現在のディレクトリ全体で12KBのディスク容量を消費していることがわかります。
3. --max-depth(表示するディレクトリの階層を制限)
大規模なディレクトリ構造を調査する際、すべてのサブディレクトリを表示すると出力が膨大になります。--max-depth
オプションを使うと、表示する階層を制限できます。
du --max-depth=1
実行結果例
$ du --max-depth=1
4 ./documents
8 ./photos
12 .
この例では、現在のディレクトリ直下のみのサイズが表示され、さらに深い階層の内容は省略されています。
4. -a(すべてのファイルを表示)
デフォルトでは、du
コマンドはディレクトリのサイズのみを表示しますが、-a
オプションを使うと、すべてのファイルのサイズを含めて出力します。
du -a
実行結果例
$ du -a
4 ./documents
2 ./documents/file1.txt
2 ./documents/file2.txt
8 ./photos
12 .
5. --exclude(特定のパターンを除外)
特定のファイルやディレクトリを結果から除外したい場合は、--exclude
オプションを使用します。
du --exclude="*.log"
例えば、ログファイル(.log
)を除外してディスク使用量を計算できます。
duコマンドの応用テクニック
ここからは、du
コマンドをさらに実践的に活用する方法を紹介します。
1. ディスク使用量が多いディレクトリを特定
大規模なプロジェクトやサーバー環境では、どのディレクトリがディスク容量を消費しているかを特定することが重要です。以下のコマンドで、ディレクトリサイズを小さい順または大きい順に並べて表示できます。
du -h --max-depth=1 | sort -h
実行結果例
$ du -h --max-depth=1 | sort -h
4.0K ./documents
8.0K ./photos
12K .
このように、どのディレクトリが大きな容量を使用しているかを簡単に把握できます。
2. 特定のファイル形式を除外して計算
ログファイル(.log
)や特定のバックアップファイルを除外してディスク使用量を計算する場合、以下を使用します。
du -h --exclude="*.log"
このオプションは、不要なファイルを無視したいときに便利です。
3. サイズ条件で特定のファイルを調査
du
コマンドとfind
コマンドを組み合わせることで、特定の条件に一致するファイルのディスク使用量を確認できます。例えば、100MB以上のファイルを探し、それらの合計サイズを計算する場合は以下のようにします。
find . -size +100M -exec du -h {} +
4. シェルスクリプトで自動化
du
コマンドをシェルスクリプトに組み込むことで、定期的にディスク使用量をレポートする仕組みを作成できます。以下は、週に一度ディスク使用量をメールで送信するスクリプトの例です。
#!/bin/bash
du -h /path/to/check > /tmp/disk_usage_report.txt
mail -s "Disk Usage Report" user@example.com < /tmp/disk_usage_report.txt
まとめ
du
コマンドは、Linux環境でディスク使用量を管理するための基本かつ非常に強力なツールです。この記事では、du
コマンドの基本的な使い方から、主要なオプション、さらに応用的な利用法までを網羅的に解説しました。
- 初心者の方は、まずは
du
コマンドの基本的な使い方を試してみてください。 - 中級者以上の方は、
sort
やfind
との組み合わせやシェルスクリプトでの自動化を活用し、効率的なディスク管理を目指しましょう。
Linuxのコマンドライン操作は最初は難しく感じるかもしれませんが、繰り返し使うことで必ずスキルが向上します。ぜひこの機会にdu
コマンドを活用してください。
コメント