Linux で `du` コマンドの出力からファイル/ディレクトリを除外する方法

LinuxLinuxBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

Linuxオペレーティングシステムでは、duコマンドはディスク使用量を分析し、スペースを消費するファイルやディレクトリを特定するための強力なツールです。ただし、特定のシナリオでは、du出力から特定のファイルやディレクトリを除外したい場合があります。このチュートリアルでは、Linuxでduコマンド出力からファイルやディレクトリを除外する方法を説明します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/FileandDirectoryManagementGroup -.-> linux/wildcard("Wildcard Character") linux/FileandDirectoryManagementGroup -.-> linux/find("File Searching") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/SystemInformationandMonitoringGroup -.-> linux/du("File Space Estimating") subgraph Lab Skills linux/ls -.-> lab-409842{{"Linux で `du` コマンドの出力からファイル/ディレクトリを除外する方法"}} linux/wildcard -.-> lab-409842{{"Linux で `du` コマンドの出力からファイル/ディレクトリを除外する方法"}} linux/find -.-> lab-409842{{"Linux で `du` コマンドの出力からファイル/ディレクトリを除外する方法"}} linux/grep -.-> lab-409842{{"Linux で `du` コマンドの出力からファイル/ディレクトリを除外する方法"}} linux/du -.-> lab-409842{{"Linux で `du` コマンドの出力からファイル/ディレクトリを除外する方法"}} end

duコマンドの理解

Linuxのduコマンドは、ディレクトリとファイルのファイル領域使用量を推定するために使用される強力なツールです。指定されたパス内のさまざまなファイルとディレクトリが占めるディスク領域に関する詳細な情報を提供します。このコマンドは、システム上のディスク領域消費を特定して管理する必要がある場合に特に役立ちます。

duコマンドとは?

duコマンドは「ディスク使用量(disk usage)」を意味し、ファイルとディレクトリが使用するディスク領域の量を表示するために使用されます。指定されたディレクトリまたはファイル階層を再帰的に探索し、各項目のディスク使用量を報告します。

使用シナリオ

duコマンドは一般的に以下のシナリオで使用されます。

  • 大量のディスク領域を消費している大きなファイルまたはディレクトリを特定する。
  • ストレージ割り当てを最適化し、領域を解放するためのディスク使用パターンを分析する。
  • 特定のディレクトリまたはファイルの経時的な増加を監視する。
  • 予期しないディスク領域使用などのディスク関連の問題をトラブルシューティングする。

duコマンドの基本構文

duコマンドの基本構文は以下の通りです。

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

duコマンドで使用される一般的なオプションには以下があります。

  • -h:ファイルサイズを人間が読みやすい形式(たとえば、KB、MB、GB)で表示します。
  • -s:ディレクトリまたはファイルの合計サイズを表示し、個々のファイルサイズではなく表示します。
  • -a:ディレクトリだけでなく、すべてのファイルのディスク使用量を表示します。
  • -c:すべてのディスク使用量の合計を表示します。

以下は、duコマンドを使用して現在のディレクトリのディスク使用量を人間が読みやすい形式で表示する例です。

$ du -h.
4.0K   ./file1.txt
8.0K   ./file2.txt
12K    .

この出力は、現在のディレクトリ(.)が12KBのディスク領域を使用しており、合計使用量に2つのファイル(file1.txtfile2.txt)が寄与していることを示しています。

du出力からのファイルとディレクトリの除外

場合によっては、duコマンドの出力から特定のファイルやディレクトリを除外したい場合があります。ファイルシステムの特定の領域に焦点を当てたい場合や、ディスク使用報告に一時的または不要なデータを含めないようにする場合に役立ちます。

--excludeオプションを使ったファイルの除外

--excludeオプションを使用すると、duコマンドの出力から除外したいファイルやディレクトリのパターンまたは名前を指定できます。以下は例です。

$ du --exclude='*.tmp'.
12K    ./file1.txt
8.0K   ./file2.txt
20K    .

この例では、duコマンドはディスク使用報告から拡張子.tmpのすべてのファイルを除外します。

--exclude-fromオプションを使ったディレクトリの除外

除外したいファイルやディレクトリの長いリストがある場合、除外パターンを含むファイルを作成して、--exclude-fromオプションを使ってそのファイルを指定できます。以下は例です。

$ cat exclude_list.txt
*.tmp
backup/
$ du --exclude-from=exclude_list.txt.
12K    ./file1.txt
8.0K   ./file2.txt
20K    .

この例では、duコマンドはディスク使用報告から拡張子.tmpのすべてのファイルとbackup/ディレクトリを除外します。

--exclude-directoryオプションを使った特定のディレクトリの除外

--exclude-directoryオプションを使用すると、duコマンドの出力から特定のディレクトリを除外できます。以下は例です。

$ du --exclude-directory=backup.
12K    ./file1.txt
8.0K   ./file2.txt
20K    .

この例では、duコマンドはディスク使用報告からbackup/ディレクトリを除外します。

これらの除外オプションを使用することで、分析に関連する特定のファイルとディレクトリに焦点を当てるようにduコマンドの出力をカスタマイズできます。

除外技術の適用

これまで、duコマンドの出力からファイルとディレクトリを除外する基本を理解しましたので、これらの技術をどのように適用するかの実際の例を見てみましょう。

一時ファイルとディレクトリの除外

一時ファイルとディレクトリは、さまざまなアプリケーションによって作成されることが多く、ディスク使用報告に大幅に影響を与える可能性があります。これらを除外するには、一般的な一時ファイル拡張子やディレクトリ名で--excludeオプションを使用できます。

$ du --exclude='*.tmp' --exclude-directory='/tmp'.
12K   ./file1.txt
8.0K  ./file2.txt
20K   .

この例では、duコマンドはディスク使用報告から拡張子.tmpのすべてのファイルと/tmpディレクトリを除外します。

バージョン管理ディレクトリの除外

プロジェクトがGitのようなバージョン管理システムを使用している場合、関連するディレクトリ(たとえば、.git/)をduコマンドの出力から除外できます。

$ du --exclude-directory='.git'.
12K   ./file1.txt
8.0K  ./file2.txt
20K   .

これにより、ディスク使用報告がバージョン管理関連のデータではなく、実際のプロジェクトファイルとディレクトリに焦点を当てることができます。

特定のファイルパターンの除外

また、拡張子やファイル名の一部などの特定のパターンに基づいてファイルを除外することもできます。特定の種類のファイルに焦点を当てたい場合や、特定の種類のバックアップやログファイルを除外したい場合に便利です。たとえば:

$ du --exclude='*.log' --exclude='*backup*'.
12K   ./file1.txt
8.0K  ./file2.txt
20K   .

この場合、duコマンドは拡張子.logのすべてのファイルと、「backup」という単語を含むすべてのファイルやディレクトリを除外します。

これらの除外技術を適用することで、duコマンドの出力を特定のニーズに合わせて調整し、Linuxシステムのディスク領域使用状況をよりよく理解することができます。

まとめ

このチュートリアルが終わるまでに、Linuxでduコマンドの出力からファイルとディレクトリを除外する効果的な技術を学ぶことができます。この知識は、ディスク使用量の分析を効率化し、必要な情報のみに焦点を当てるのに役立ちます。システム管理者であろうとパワーユーザーであろうと、このスキルを習得することでLinuxのファイル管理能力が向上します。