Linuxコマンドduの使い方と7つのオプション

Linuxコマンドduを使用すると、ファイルやディレクトリの容量を簡単に確認することができます。duは「disk usage」の略で、ディスク使用量を確認できる非常に便利なツールです。今回の投稿では、duコマンドの基本的な使用方法から、さまざまなオプションの活用方法までを順に見ていきます。

Linuxコマンドduとは?

duコマンドは、Linuxでファイルやディレクトリが占めるディスク容量を確認するためのコマンドです。基本的に、ディレクトリのサイズを再帰的に計算して出力し、ファイルのサイズも確認できます。

du [オプション] [ファイルまたはディレクトリ]
ShellScript

このような形式でコマンドを使用できます。ここで、[オプション]は出力形式や計算方法を指定するもので、[ファイルまたはディレクトリ]は容量を確認したい対象です。基本的に、duコマンドは現在のディレクトリ内のすべてのファイルとサブディレクトリの容量を出力します。

Linuxコマンドduの基本的な使用法

最も基本的なduコマンドの使用法は、単純にコマンドを入力することです。

du
ShellScript

このコマンドを入力すると、現在のディレクトリ内のすべてのファイルとディレクトリのサイズがバイト単位で出力されます。

図1. Linuxコマンドdu: 使用結果
図1. Linuxコマンドdu: 使用結果

Linuxコマンドduの主要オプション

duコマンドには、いくつかの便利なオプションがあります。よく使用されるオプションをいくつか紹介します。

-hオプション: 人間が読みやすい形式で表示

ただし、このように出力された結果は直感的でない場合があります。そのような時は、-hオプションを使用して、人間が読みやすい形式で出力できます。

du -h
ShellScript

-hオプションは「human-readable」の略で、サイズをKB(キロバイト)、MB(メガバイト)、GB(ギガバイト)などに変換して表示します。たとえば、1024バイトは1KB、1048576バイトは1MBとして表示されます。

図2. Linuxコマンドdu: -hオプションで読みやすく表示
図2. Linuxコマンドdu: -hオプションで読みやすく表示

-sオプション: 合計のみを表示

ディレクトリ内のファイルやサブディレクトリごとの容量ではなく、特定のディレクトリ全体の容量だけを知りたい場合は、-sオプションを使用します。

du -sh
ShellScript

このコマンドは、現在のディレクトリの全体容量を人間が読みやすい形式で表示します。-sオプションがない場合、すべてのサブディレクトリの容量が個別に表示されるため、特定のディレクトリの総容量を知りたいときに非常に便利です。

図3. Linuxコマンドdu: -sオプションでディレクトリの総容量を表示
図3. Linuxコマンドdu: -sオプションでディレクトリの総容量を表示

-aオプション: すべてのファイルとディレクトリを表示

基本的に、duコマンドはディレクトリのサイズのみを出力します。しかし、ディレクトリ内の個別ファイルのサイズも知りたい場合は、-aオプションを使用します。

du -ah
ShellScript

-aオプションは、ディレクトリだけでなく、以下の図のようにすべてのファイルのサイズも出力します。

図4. Linuxコマンドdu: -aオプションでファイルとディレクトリの容量をすべて表示
図4. Linuxコマンドdu: -aオプションでファイルとディレクトリの容量をすべて表示

–max-depthオプション: 出力深度の制限

ディレクトリ構造が深い場合、すべてのサブディレクトリの容量を確認したくないことがあります。そのような時には、–max-depthオプションを使用して、出力する深度を制限できます。

du -h --max-depth=1
ShellScript

このコマンドは、現在のディレクトリと直下のサブディレクトリの容量のみを出力します。–max-depthオプションに1を指定しているため、直下のディレクトリのみが計算されます。それより深いディレクトリの容量は出力されません。

以下の図では、–max-depth値として2を指定しています。ご覧のように、2階層下のディレクトリまでの容量が表示されていることがわかります。

図5. Linuxコマンドdu: --max-depthオプションでディレクトリの深度を制限
図5. Linuxコマンドdu: –max-depthオプションでディレクトリの深度を制限

-cオプション: 合計出力

duコマンドで複数のディレクトリの容量を確認する際、その合計も知りたい場合は、-cオプションを使用できます。

du -ch
ShellScript

このコマンドは、各ディレクトリとファイルの容量を出力した後、最後の行に合計を追加で出力します。

図6. Linuxコマンドdu: -cオプションで合計を別途出力
図6. Linuxコマンドdu: -cオプションで合計を別途出力

Linuxコマンドdu使用時の注意事項

duコマンドはディスク使用量を確認するのに便利ですが、いくつか注意点があります。

シンボリックリンクの容量表示: -Lオプション

まず、duコマンドはシンボリックリンク(特定のファイルやディレクトリの位置を参照する特殊なファイル)をたどりません。つまり、シンボリックリンクの容量は実際のファイルのサイズとして計算されません。これを避けるには、-Lオプションを使用して、シンボリックリンクをたどるようにできます。

図7. Linuxコマンドdu: -Lオプションでシンボリックリンクをたどって容量を確認
図7. Linuxコマンドdu: -Lオプションでシンボリックリンクをたどって容量を確認

権限の問題: sudoコマンド

duコマンドは、ユーザーが読み取り権限を持つファイルやディレクトリのみを計算します。そのため、権限がないファイルやディレクトリは計算されず、予期しない結果が出ることがあります。システム全体のディスク使用量を確認するには、sudoコマンドを併用するのが良いでしょう。

sudo du -sh /var
ShellScript

このコマンドは、/varディレクトリの全体容量を出力し、権限のないディレクトリも含みます。

有用な活用方法: –timeオプション

duコマンドは、単にディスク使用量を確認するだけでなく、さまざまな活用方法があります。たとえば、サーバーでディスクスペースが不足した際、duコマンドで大きなファイルやディレクトリを見つけ出して整理することができます。また、特定のディレクトリの容量変化をモニタリングする際にも有効に使用できます。

du -h --time
ShellScript

このコマンドは、各ファイルやディレクトリの容量とともに、最後に修正された時間を表示します。これにより、最近容量が急増したファイルやディレクトリを見つけることができます。

図8. Linuxコマンドdu: --timeオプションで最後の修正時間を表示
図8. Linuxコマンドdu: –timeオプションで最後の修正時間を表示

まとめ

今回の投稿では、Linuxでduコマンドを使用する方法とさまざまなオプションについて紹介しました。duコマンドは、ディスク使用量を確認し、管理する上で非常に有用なツールです。基本的な使用方法から高度なオプションまで習得しておけば、サーバー管理やシステムモニタリングで大いに役立つでしょう。ディスク容量の管理は、システムの安定性とパフォーマンスに直結する重要な作業ですので、duコマンドをうまく活用してください。

リファレンス

関連ポスト

コメントする