Bash 速習チュートリアル

Bash duコマンド

1. duコマンドの使用方法

du(disk usage)コマンドは、ファイルやディレクトリのディスク使用量を見積もるために使用されます。
どのファイルやディレクトリが、どの程度のストレージ容量を占有しているかを特定する際に非常に役立ちます。

以下のすべての例では、デモンストレーション用の仮想的な出力結果を使用しています:

8.0K    ./dir1
12K     ./dir2
20K     .

1.1 出力内容の理解

duコマンドの出力は、基本的に2つのカラム(列)で構成されています。

  • Size: ファイルまたはディレクトリが使用しているディスク容量。
  • Path: 対象のファイルまたはディレクトリのパス。

1.2 基本的な使い方

現在のディレクトリ以下のディスク使用量を表示するには、単に du と入力します。

例:基本的な使い方

du
# 出力結果:
8.0K    ./dir1
12K     ./dir2
20K     .

2. オプション

duコマンドには、動作をカスタマイズするための便利なオプションが用意されています。

  • -h - サイズを人間が読みやすい形式(KB, MB, GBなど)で表示する
  • -s - 各項目の合計サイズのみを表示する(サマリ)
  • -a - ディレクトリだけでなく、すべての個別のファイルについても表示する
  • -c - 最後に全体の総計(grand total)を表示する
  • --max-depth=N - ディレクトリを探索する深さを制限する

2.1 ヒューマンリーダブルな形式での表示

-h(human-readable)オプションを使用すると、サイズを人間が理解しやすい単位(KB, MB, GBなど)で表示できます。

例:ヒューマンリーダブルな形式

du -h
# 出力結果:
8.0K    ./dir1
12K     ./dir2
20K     .

2.2 合計サイズのみを表示

-s(summary)オプションを使用すると、個別のディレクトリ内をすべて表示するのではなく、指定した項目の合計サイズのみを表示します。

例:合計サイズのみを表示

du -s
# 出力結果:
20K     .

2.3 すべてのファイルのサイズを表示

デフォルトでは du はディレクトリ単位で集計しますが、-a(all)オプションを使用すると、ディレクトリ内の個別のファイルについてもサイズを表示します。

例:すべてのファイルのサイズを表示

du -a
# 出力結果:
4.0K    ./file1
4.0K    ./file2
8.0K    ./dir1
12K     ./dir2
20K     .

2.4 総計(Grand Total)の算出

-c(total)オプションを使用すると、リストされたすべての項目の最後に、それらを合算した総計を表示します。

例:総計の算出

du -c
# 出力結果:
8.0K    ./dir1
12K     ./dir2
20K     .
40K     total

2.5 ディレクトリ探索の深さを制限

--max-depth=Nオプションを使用すると、ディレクトリを再帰的に探索する階層の深さを制限できます。これは、特定の階層レベルでどのディレクトリが重いのかを要約して把握したい場合に非常に有用です。

例:探索の深さを1に制限
この例では、トップレベルのディレクトリのみを表示し、それより下のサブディレクトリの詳細は表示しません。

du --max-depth=1
# 出力結果:
8.0K    ./dir1
12K     ./dir2
20K     .

例:探索の深さを2に制限
ここでは、サブディレクトリを含めた2段階の深さまでの集計が表示されます。

du --max-depth=2
# 出力結果:
4.0K    ./dir1/subdir1
8.0K    ./dir1
6.0K    ./dir2/subdir2
12K     ./dir2
20K     .

3. オプションの組み合わせ

オプションを組み合わせることで、より詳細で実用的な情報を得ることができます。例えば、du -h --max-depth=1 を実行すると、人間が読みやすい形式で、トップレベルのディレクトリ容量を一覧表示できます。

例:オプションの組み合わせ

du -h --max-depth=1
# 出力結果:
8.0K    ./dir1
12K     ./dir2
20K     .