Linuxコマンドduを使用すると、ファイルやディレクトリの容量を簡単に確認することができます。duは「disk usage」の略で、ディスク使用量を確認できる非常に便利なツールです。今回の投稿では、duコマンドの基本的な使用方法から、さまざまなオプションの活用方法までを順に見ていきます。
Table of Contents
Linuxコマンドduとは?
duコマンドは、Linuxでファイルやディレクトリが占めるディスク容量を確認するためのコマンドです。基本的に、ディレクトリのサイズを再帰的に計算して出力し、ファイルのサイズも確認できます。
du [オプション] [ファイルまたはディレクトリ]
ShellScriptこのような形式でコマンドを使用できます。ここで、[オプション]は出力形式や計算方法を指定するもので、[ファイルまたはディレクトリ]は容量を確認したい対象です。基本的に、duコマンドは現在のディレクトリ内のすべてのファイルとサブディレクトリの容量を出力します。
Linuxコマンドduの基本的な使用法
最も基本的なduコマンドの使用法は、単純にコマンドを入力することです。
du
ShellScriptこのコマンドを入力すると、現在のディレクトリ内のすべてのファイルとディレクトリのサイズがバイト単位で出力されます。
Linuxコマンドduの主要オプション
duコマンドには、いくつかの便利なオプションがあります。よく使用されるオプションをいくつか紹介します。
-hオプション: 人間が読みやすい形式で表示
ただし、このように出力された結果は直感的でない場合があります。そのような時は、-hオプションを使用して、人間が読みやすい形式で出力できます。
du -h
ShellScript-hオプションは「human-readable」の略で、サイズをKB(キロバイト)、MB(メガバイト)、GB(ギガバイト)などに変換して表示します。たとえば、1024バイトは1KB、1048576バイトは1MBとして表示されます。
-sオプション: 合計のみを表示
ディレクトリ内のファイルやサブディレクトリごとの容量ではなく、特定のディレクトリ全体の容量だけを知りたい場合は、-sオプションを使用します。
du -sh
ShellScriptこのコマンドは、現在のディレクトリの全体容量を人間が読みやすい形式で表示します。-sオプションがない場合、すべてのサブディレクトリの容量が個別に表示されるため、特定のディレクトリの総容量を知りたいときに非常に便利です。
-aオプション: すべてのファイルとディレクトリを表示
基本的に、duコマンドはディレクトリのサイズのみを出力します。しかし、ディレクトリ内の個別ファイルのサイズも知りたい場合は、-aオプションを使用します。
du -ah
ShellScript-aオプションは、ディレクトリだけでなく、以下の図のようにすべてのファイルのサイズも出力します。
–max-depthオプション: 出力深度の制限
ディレクトリ構造が深い場合、すべてのサブディレクトリの容量を確認したくないことがあります。そのような時には、–max-depthオプションを使用して、出力する深度を制限できます。
du -h --max-depth=1
ShellScriptこのコマンドは、現在のディレクトリと直下のサブディレクトリの容量のみを出力します。–max-depthオプションに1を指定しているため、直下のディレクトリのみが計算されます。それより深いディレクトリの容量は出力されません。
以下の図では、–max-depth値として2を指定しています。ご覧のように、2階層下のディレクトリまでの容量が表示されていることがわかります。
-cオプション: 合計出力
duコマンドで複数のディレクトリの容量を確認する際、その合計も知りたい場合は、-cオプションを使用できます。
du -ch
ShellScriptこのコマンドは、各ディレクトリとファイルの容量を出力した後、最後の行に合計を追加で出力します。
Linuxコマンドdu使用時の注意事項
duコマンドはディスク使用量を確認するのに便利ですが、いくつか注意点があります。
シンボリックリンクの容量表示: -Lオプション
まず、duコマンドはシンボリックリンク(特定のファイルやディレクトリの位置を参照する特殊なファイル)をたどりません。つまり、シンボリックリンクの容量は実際のファイルのサイズとして計算されません。これを避けるには、-Lオプションを使用して、シンボリックリンクをたどるようにできます。
権限の問題: sudoコマンド
duコマンドは、ユーザーが読み取り権限を持つファイルやディレクトリのみを計算します。そのため、権限がないファイルやディレクトリは計算されず、予期しない結果が出ることがあります。システム全体のディスク使用量を確認するには、sudoコマンドを併用するのが良いでしょう。
sudo du -sh /var
ShellScriptこのコマンドは、/varディレクトリの全体容量を出力し、権限のないディレクトリも含みます。
有用な活用方法: –timeオプション
duコマンドは、単にディスク使用量を確認するだけでなく、さまざまな活用方法があります。たとえば、サーバーでディスクスペースが不足した際、duコマンドで大きなファイルやディレクトリを見つけ出して整理することができます。また、特定のディレクトリの容量変化をモニタリングする際にも有効に使用できます。
du -h --time
ShellScriptこのコマンドは、各ファイルやディレクトリの容量とともに、最後に修正された時間を表示します。これにより、最近容量が急増したファイルやディレクトリを見つけることができます。
まとめ
今回の投稿では、Linuxでduコマンドを使用する方法とさまざまなオプションについて紹介しました。duコマンドは、ディスク使用量を確認し、管理する上で非常に有用なツールです。基本的な使用方法から高度なオプションまで習得しておけば、サーバー管理やシステムモニタリングで大いに役立つでしょう。ディスク容量の管理は、システムの安定性とパフォーマンスに直結する重要な作業ですので、duコマンドをうまく活用してください。