Linux – duコマンドの使い方 – ファイルのディスク使用量の表示
duコマンドは、Linuxでファイルやディレクトリのディスク使用量を表示するために使用されます。
基本的な使い方は、du [オプション] [ファイル/ディレクトリ]です。
オプションとして、-hを使うと人間が読みやすい形式(KB, MB, GBなど)で表示され、-sを使うと合計のみが表示されます。
例えば、du -hは現在のディレクトリ内の各ファイルやサブディレクトリのサイズをわかりやすく表示します。
duコマンドとは
duコマンドは、LinuxやUnix系のオペレーティングシステムで使用されるコマンドの一つで、ディスク使用量を表示するためのツールです。
このコマンドを使うことで、特定のファイルやディレクトリがどれだけのディスクスペースを占有しているかを簡単に確認できます。
duは disk usage の略で、システム管理やファイル管理において非常に便利な機能を提供します。
duコマンドは、デフォルトでは指定したディレクトリ内の各サブディレクトリのサイズを表示しますが、オプションを使うことで表示形式や内容をカスタマイズすることが可能です。
これにより、ディスクスペースの使用状況を把握し、不要なファイルやディレクトリを削除する際の参考にすることができます。
特に、ディスク容量が限られている環境では、duコマンドを活用することで効率的な管理が実現できます。
duコマンドの基本的な使い方
ディレクトリ全体のディスク使用量を表示する
特定のディレクトリ全体のディスク使用量を表示するには、duコマンドにディレクトリのパスを指定します。
以下のコマンドを実行すると、指定したディレクトリのサイズが表示されます。
du /path/to/directory8 /path/to/directory/subdir1
16 /path/to/directory/subdir2
24 /path/to/directoryこの例では、/path/to/directory内の各サブディレクトリのサイズと、全体のサイズが表示されています。
特定のファイルやディレクトリの使用量を表示する
特定のファイルやディレクトリの使用量を確認するには、duコマンドにそのファイルやディレクトリのパスを指定します。
以下のように実行します。
du /path/to/file_or_directory4 /path/to/file.txtこの例では、file.txtのサイズが表示されています。
サブディレクトリごとの使用量を表示する
サブディレクトリごとの使用量を表示するには、duコマンドに-hオプションを追加すると、サイズが人間に読みやすい形式で表示されます。
以下のコマンドを実行します。
du -h /path/to/directory4.0K /path/to/directory/subdir1
8.0K /path/to/directory/subdir2
12K /path/to/directoryこの例では、各サブディレクトリのサイズがキロバイト単位で表示され、全体のサイズも確認できます。
duコマンドの主なオプション
-hオプション:人間が読みやすい形式で表示
-hオプションを使用すると、ディスク使用量が人間にとって読みやすい形式(KB、MB、GBなど)で表示されます。
これにより、サイズの感覚をつかみやすくなります。
du -h /path/to/directory4.0K /path/to/directory/subdir1
8.0K /path/to/directory/subdir2
12K /path/to/directory-sオプション:合計のみを表示
-sオプションを使うと、指定したディレクトリの合計サイズのみを表示します。
サブディレクトリの詳細は表示されません。
du -s /path/to/directory12 /path/to/directory-aオプション:ファイルごとの使用量も表示
-aオプションを指定すると、ディレクトリ内のファイルとサブディレクトリの両方のサイズが表示されます。
これにより、個々のファイルの使用量も確認できます。
du -a /path/to/directory4.0K /path/to/directory/file1.txt
8.0K /path/to/directory/subdir1
12K /path/to/directory-cオプション:合計を表示
-cオプションを使用すると、指定したディレクトリ内のすべてのサイズの合計が表示されます。
合計サイズが最後に表示されるため、全体の使用量を把握しやすくなります。
du -c /path/to/directory4.0K /path/to/directory/file1.txt
8.0K /path/to/directory/subdir1
12K total-dオプション:表示するディレクトリの深さを指定
-dオプションを使うと、表示するディレクトリの深さを指定できます。
例えば、-d 1を指定すると、直下のサブディレクトリのみが表示されます。
du -d 1 /path/to/directory8 /path/to/directory/subdir1
12 /path/to/directory–max-depthオプション:指定した深さまでのディレクトリを表示
--max-depthオプションも、表示するディレクトリの深さを指定するために使用します。
-dオプションと同様の機能ですが、より明示的に深さを指定できます。
du --max-depth=1 /path/to/directory8 /path/to/directory/subdir1
12 /path/to/directory-xオプション:ファイルシステムをまたがない
-xオプションを使用すると、指定したディレクトリ内でのみサイズを計算し、他のファイルシステムにあるファイルやディレクトリは無視されます。
これにより、特定のファイルシステム内の使用量を正確に把握できます。
du -x /path/to/directory4 /path/to/directory/subdir1
8 /path/to/directory/subdir2–excludeオプション:特定のファイルやディレクトリを除外
--excludeオプションを使うと、特定のファイルやディレクトリを表示結果から除外できます。
これにより、不要な情報を省いて必要なデータだけを表示することが可能です。
du --exclude='*.txt' /path/to/directory8 /path/to/directory/subdir1
12 /path/to/directoryこの例では、.txtファイルが除外されて表示されています。
duコマンドの応用例
特定のディレクトリのサイズを確認する
特定のディレクトリのサイズを確認するには、duコマンドを使用してそのディレクトリのパスを指定します。
例えば、/var/logディレクトリのサイズを確認する場合、以下のコマンドを実行します。
du -sh /var/log1.5G /var/logこのコマンドにより、/var/logディレクトリの合計サイズが表示されます。
大きなファイルやディレクトリを見つける
ディスク使用量が大きいファイルやディレクトリを見つけるためには、duコマンドとsortコマンドを組み合わせて使用します。
以下のコマンドで、サイズの大きい順に表示できます。
du -ah /path/to/directory | sort -rh | head -n 10500M /path/to/directory/largefile.iso
300M /path/to/directory/subdir1
150M /path/to/directory/subdir2このコマンドは、指定したディレクトリ内の大きなファイルやディレクトリを上位10件表示します。
ディスク使用量のレポートを作成する
定期的にディスク使用量のレポートを作成するには、duコマンドを使用して結果をファイルに出力します。
以下のコマンドで、レポートをdisk_usage_report.txtというファイルに保存できます。
du -h /path/to/directory > disk_usage_report.txt4.0K /path/to/directory/subdir1
8.0K /path/to/directory/subdir2
12K /path/to/directoryこのファイルには、指定したディレクトリのディスク使用量が記録されます。
複数のディレクトリのサイズを比較する
複数のディレクトリのサイズを比較するには、duコマンドを使ってそれぞれのディレクトリを指定し、結果を表示します。
以下のコマンドで、/home/user1と/home/user2のサイズを比較できます。
du -sh /home/user1 /home/user220G /home/user1
15G /home/user2このコマンドにより、2つのディレクトリのサイズを簡単に比較できます。
cronで定期的にディスク使用量を監視する
cronを使用して定期的にディスク使用量を監視することも可能です。
例えば、毎日午前1時にディスク使用量をレポートするスクリプトを実行するには、以下のようにcrontabにエントリを追加します。
0 1 * * * du -h /path/to/directory > /path/to/report/disk_usage_$(date +\%Y\%m\%d).txtこの設定により、毎日午前1時に指定したディレクトリのディスク使用量がレポートとして保存されます。
レポートファイル名には日付が含まれ、過去のデータを簡単に管理できます。
duコマンドと他のコマンドの組み合わせ
duとsortコマンドでサイズ順に並べ替える
duコマンドの出力をsortコマンドと組み合わせることで、ディスク使用量をサイズ順に並べ替えることができます。
以下のコマンドを実行すると、指定したディレクトリ内のファイルやサブディレクトリをサイズの大きい順に表示できます。
du -ah /path/to/directory | sort -rh500M /path/to/directory/largefile.iso
300M /path/to/directory/subdir1
150M /path/to/directory/subdir2このコマンドにより、サイズの大きい順にリストが表示され、どのファイルやディレクトリが多くのディスクスペースを占めているかを簡単に把握できます。
duとgrepコマンドで特定のパターンを検索
duコマンドの出力をgrepコマンドと組み合わせることで、特定のパターンにマッチするファイルやディレクトリを検索できます。
例えば、特定の拡張子を持つファイルのサイズを確認する場合、以下のように実行します。
du -ah /path/to/directory | grep '\.txt$'4.0K /path/to/directory/file1.txt
2.0K /path/to/directory/file2.txtこのコマンドでは、.txt拡張子を持つファイルのサイズが表示されます。
duとfindコマンドで特定の条件に合うファイルを探す
duコマンドとfindコマンドを組み合わせることで、特定の条件に合うファイルのサイズを確認できます。
例えば、サイズが1MB以上のファイルを探す場合、以下のように実行します。
find /path/to/directory -type f -size +1M -exec du -h {} +1.5M /path/to/directory/largefile1.bin
2.3M /path/to/directory/largefile2.mp4このコマンドにより、指定したディレクトリ内の1MB以上のファイルのサイズが表示されます。
duとxargsコマンドで複数のファイルを一括処理
duコマンドの出力をxargsコマンドと組み合わせることで、複数のファイルを一括処理することができます。
例えば、特定のサイズ以上のファイルを削除する場合、以下のように実行します。
du -ah /path/to/directory | sort -rh | head -n 10 | awk '{print $2}' | xargs rmこのコマンドは、サイズの大きい順に上位10件のファイルを削除します。
出力例はありませんが、実行後に指定したファイルが削除されます。
注意して使用してください。
このように、duコマンドは他のコマンドと組み合わせることで、より強力なファイル管理ツールとして活用できます。
まとめ
この記事では、duコマンドの基本的な使い方や主なオプション、応用例、他のコマンドとの組み合わせについて詳しく解説しました。
これにより、ディスク使用量を効率的に管理するための手法を学ぶことができました。
今後は、実際にduコマンドを活用して、システムのディスクスペースを最適化し、不要なファイルを整理することをお勧めします。