実践的な例を用いた Linux の du コマンド

LinuxLinuxBeginner
今すぐ練習

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

はじめに

この実験では、Linux の du (ディスク使用量) コマンドを使ってファイルの使用するスペースを見積もり、ファイルやディレクトリが占有するディスクスペースに関する情報を取得する方法を学びます。du コマンドの様々なオプションを理解し、ディレクトリのディスク使用量を測定し、du の測定対象からディレクトリを除外する方法を学びます。この実験では、Linux における基本的なファイルおよびディレクトリ操作を扱っており、これらはシステム管理やファイル管理タスクに欠かせないものです。

Linux コマンドチートシート


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/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/SystemInformationandMonitoringGroup -.-> linux/df("Disk Space Reporting") linux/SystemInformationandMonitoringGroup -.-> linux/du("File Space Estimating") subgraph Lab Skills linux/ls -.-> lab-422652{{"実践的な例を用いた Linux の du コマンド"}} linux/cd -.-> lab-422652{{"実践的な例を用いた Linux の du コマンド"}} linux/df -.-> lab-422652{{"実践的な例を用いた Linux の du コマンド"}} linux/du -.-> lab-422652{{"実践的な例を用いた Linux の du コマンド"}} end

du コマンドを理解する

このステップでは、Linux の du (ディスク使用量) コマンドについて学びます。du コマンドは、ファイルの使用するスペースを見積もり、ファイルやディレクトリが占有するディスクスペースに関する情報を提供するために使用されます。

まずは、du コマンドのヘルプを確認してみましょう。

man du

ヘルプの出力には、du コマンドの様々なオプションと使い方に関する詳細な情報が記載されています。

よく使われる du オプションには以下のようなものがあります。

  • -h: 出力を人間が読みやすい形式で表示します (例: 1234567 ではなく 1.2M)
  • -s: ディレクトリ内の各ファイルやディレクトリのサイズではなく、ディレクトリの合計サイズを表示します
  • -c: 出力の最後に総計を表示します
  • -x: ファイルシステムの境界を越えないようにします
  • -d <depth>: du が表示するディレクトリツリーの深さを制限します

では、du コマンドの使い方を理解するためにいくつかの例を試してみましょう。

## 現在のディレクトリのディスク使用量を表示する
du -h .

## 現在のディレクトリのディスク使用量を表示する(サブディレクトリも含む)
du -h -s *

## 現在のディレクトリのディスク使用量を表示する(深さを 1 レベルに制限する)
du -h -d 1

出力例:

4.0K    .
4.0K    file1.txt
8.0K    file2.txt
12K     .

この出力は、現在のディレクトリ (.) とその中のファイルのディスク使用量を示しています。-h オプションにより、サイズが人間が読みやすい形式で表示されます。

ディレクトリのディスク使用量を測定する

このステップでは、du コマンドを使って特定のディレクトリのディスク使用量を測定する方法を学びます。

まず、作業用のディレクトリといくつかのファイルを作成しましょう。

mkdir ~/project/test_dir
cd ~/project/test_dir
touch file1.txt file2.txt file3.txt

では、du コマンドを使って test_dir ディレクトリのディスク使用量を測定しましょう。

## test_dir ディレクトリのディスク使用量を表示する
du -h ~/project/test_dir

## test_dir ディレクトリの合計ディスク使用量を表示する
du -hs ~/project/test_dir

出力例:

12K     /home/labex/project/test_dir
12K     /home/labex/project/test_dir

最初のコマンド du -h ~/project/test_dir は、test_dir ディレクトリ内の各ファイルとサブディレクトリのディスク使用量を表示します。-h オプションにより、サイズが人間が読みやすい形式で表示されます。

2 番目のコマンド du -hs ~/project/test_dir は、test_dir ディレクトリの合計ディスク使用量を表示します。-s オプションにより、個々のファイルやディレクトリのサイズではなく、合計(総計)サイズが表示されます。

また、du コマンドを使ってディレクトリとそのサブディレクトリのディスク使用量を再帰的に測定することもできます。

## test_dir ディレクトリとそのサブディレクトリのディスク使用量を表示する
du -h -d 1 ~/project/test_dir

出力例:

4.0K    /home/labex/project/test_dir/file1.txt
4.0K    /home/labex/project/test_dir/file2.txt
4.0K    /home/labex/project/test_dir/file3.txt
12K     /home/labex/project/test_dir
12K     /home/labex/project/test_dir

-d 1 オプションは、ディレクトリツリーの深さを 1 レベルに制限し、test_dir ディレクトリとその直下のファイルやサブディレクトリのディスク使用量を表示します。

du 測定からディレクトリを除外する

このステップでは、du コマンドによるディスク使用量の測定から特定のディレクトリを除外する方法を学びます。

これを実証するために、新しいディレクトリ構造を作成しましょう。

mkdir -p ~/project/main_dir/subdir1 ~/project/main_dir/subdir2
touch ~/project/main_dir/subdir1/file1.txt ~/project/main_dir/subdir2/file2.txt

では、du コマンドを使って main_dir ディレクトリとそのサブディレクトリのディスク使用量を測定しましょう。

du -h -d 1 ~/project/main_dir

出力例:

4.0K    /home/labex/project/main_dir/subdir1
4.0K    /home/labex/project/main_dir/subdir2
8.0K    /home/labex/project/main_dir
8.0K    /home/labex/project/main_dir

ご覧のとおり、du コマンドは subdir1subdir2 ディレクトリのディスク使用量も含んでいます。

du の測定から特定のディレクトリを除外したい場合は、--exclude オプションを使用できます。

du -h -d 1 --exclude=subdir1 ~/project/main_dir

出力例:

4.0K    /home/labex/project/main_dir/subdir2
4.0K    /home/labex/project/main_dir
4.0K    /home/labex/project/main_dir

この例では、--exclude=subdir1 オプションにより、du はディスク使用量の測定から subdir1 ディレクトリを除外するように指示されています。

--exclude オプションを複数回使用することで、複数のディレクトリを除外することもできます。

du -h -d 1 --exclude=subdir1 --exclude=subdir2 ~/project/main_dir

出力例:

0   /home/labex/project/main_dir
0   /home/labex/project/main_dir

この場合、subdir1subdir2 の両方を除外しているため、main_dir ディレクトリの合計ディスク使用量は 0 と報告されます。

まとめ

この実験では、Linux の du (ディスク使用量) コマンドについて学びました。このコマンドは、ファイルの使用するスペースを見積もり、ファイルやディレクトリが占有するディスクスペースに関する情報を提供するために使用されます。du のよく使われるオプション、たとえば人間が読みやすい形式で出力する -h、ディレクトリの合計サイズを表示する -s、ディレクトリツリーの深さを制限する -d などを調べました。そして、特定のディレクトリ自体とその中の個々のファイルのディスク使用量を測定するために du コマンドを使用する練習を行いました。

Linux コマンドチートシート