Linux df コマンドの実践的な例

LinuxBeginner
オンラインで実践に進む

はじめに

この実験 (lab) では、Linux の df コマンドの使い方を学びます。df (disk free) コマンドは、システム上のファイルシステムの合計容量、使用量、空き容量に関する情報を表示するための不可欠なユーティリティです。基本的なコマンドから始め、出力をより読みやすくする方法、特定のパスの使用状況を確認する方法を学び、最終的には必要な情報のみを表示するように出力をカスタマイズします。この実験 (lab) が終わる頃には、Linux システムのディスク容量を監視するために df を快適に使用できるようになるでしょう。

Linux コマンド チートシート

基本的なディスク使用状況のレポート

まず、df コマンドの基本的な使い方と、出力をより読みやすくフォーマットする方法を学びます。この実験 (lab) のすべてのコマンドはターミナルで実行されます。

ターミナルを開き、オプションなしで df コマンドを実行します。

df

マウントされているすべてのファイルシステムのレポートが表示されます。出力は次のようになります。

Filesystem     1K-blocks     Used Available Use% Mounted on
overlay         20971520   128764  20842756   1% /
tmpfs              65536        0     65536   0% /dev
tmpfs            8052892        0   8052892   0% /sys/fs/cgroup
shm                65536        0     65536   0% /dev/shm
/dev/nvme1n1   104806400 20643324  84163076  20% /etc/hosts
tmpfs            8052892        0   8052892   0% /proc/acpi
tmpfs            8052892        0   8052892   0% /proc/scsi
tmpfs            8052892        0   8052892   0% /sys/firmware

デフォルトでは、ディスク容量は 1 キロバイトブロックで表示されますが、これは解釈が難しい場合があります。出力をよりユーザーフレンドリーにするために、-h (human-readable) オプションを使用します。このオプションは、サイズを 1024 のべき乗(例:メガバイトの場合は M、ギガバイトの場合は G)で表示します。

-h オプション付きで df コマンドを実行します。

df -h

出力は、はるかに理解しやすくなりました。

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  126M   20G   1% /
tmpfs            64M     0   64M   0% /dev
tmpfs           7.7G     0  7.7G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/nvme1n1    100G   20G   81G  20% /etc/hosts
tmpfs           7.7G     0  7.7G   0% /proc/acpi
tmpfs           7.7G     0  7.7G   0% /proc/scsi
tmpfs           7.7G     0  7.7G   0% /sys/firmware

各列の内訳は次のとおりです。

  • Filesystem: ストレージデバイスの名前。
  • Size: ファイルシステムの合計サイズ。
  • Used: 現在使用されているスペースの量。
  • Avail: 使用可能なスペースの量。
  • Use%: 使用されているディスクスペースの割合。
  • Mounted on: ファイルシステムがマウントされているディレクトリ。

特定パスの確認

df コマンドは、特定のファイルやディレクトリが含まれるファイルシステムについてもレポートできます。これは、特定のディレクトリが存在するパーティションにどれだけの空き容量が残っているかを知りたい場合に便利です。df はディレクトリ自体のサイズではなく、ファイルシステム全体についてレポートすることを覚えておくことが重要です。

まず、ルートディレクトリ(/ で表されます)のディスク使用状況を確認します。

df -h /

出力には、システムのルートにマウントされているファイルシステムの詳細が表示されます。

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  126M   20G   1% /

次に、現在の作業ディレクトリのディスク使用状況を確認します。ターミナルのデフォルトパスは ~/project で、ホームディレクトリ内にあります。現在のディレクトリを表すためにドット . を使用できます。

df -h .

出力には、~/project ディレクトリが存在するファイルシステムのディスク使用状況が表示されます。この環境では、ルートファイルシステムと同じです。

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  126M   20G   1% /

これにより、プロジェクトディレクトリがメインのファイルシステム上にあり、そのパーティションの合計空き容量が表示されていることが確認できます。

ファイルシステムの種類と inode 情報の表示

ディスク容量以外にも、df はファイルシステムの種類や inode の使用状況など、その他の有用な詳細情報を提供できます。

ファイルシステムの種類を表示するには、-T (print-type) オプションを使用します。これにより、出力に Type 列が追加され、overlaytmpfsxfs などのフォーマットが表示されます。

以下のコマンドを実行して、ファイルシステムの種類を人間が読める形式で表示します。

df -hT

出力には Type 列が含まれるようになります。

Filesystem     Type     Size  Used Avail Use% Mounted on
overlay        overlay   20G  126M   20G   1% /
tmpfs          tmpfs     64M     0   64M   0% /dev
tmpfs          tmpfs    7.7G     0  7.7G   0% /sys/fs/cgroup
shm            tmpfs     64M     0   64M   0% /dev/shm
/dev/nvme1n1   xfs      100G   20G   81G  20% /etc/hosts
tmpfs          tmpfs    7.7G     0  7.7G   0% /proc/acpi
tmpfs          tmpfs    7.7G     0  7.7G   0% /proc/scsi
tmpfs          tmpfs    7.7G     0  7.7G   0% /sys/firmware

inode の使用状況も確認できます。inode はファイルシステム上のデータ構造であり、ファイル名と実際のデータ以外の、ファイルまたはディレクトリに関するすべての情報を格納します。ファイルシステムは、まだディスク容量が利用可能であっても inode を使い果たす可能性があります。inode の使用状況を確認するには、-i オプションを使用します。

df -i

このコマンドは、inode の総数と、使用済みおよび空きの inode 数を表示します。

Filesystem       Inodes  IUsed    IFree IUse% Mounted on
overlay        52428800 657612 51771188    2% /
tmpfs           2013223     16  2013207    1% /dev
tmpfs           2013223     17  2013206    1% /sys/fs/cgroup
shm             2013223      1  2013222    1% /dev/shm
/dev/nvme1n1   52428800 657612 51771188    2% /etc/hosts
tmpfs           2013223      1  2013222    1% /proc/acpi
tmpfs           2013223      1  2013222    1% /proc/scsi
tmpfs           2013223      1  2013222    1% /sys/firmware

出力のカスタマイズ

スクリプト作成や特定のレポート作成のニーズに合わせて、特定の列のみを表示したい場合があります。df コマンドには、レポートに表示されるフィールドをカスタマイズするための --output オプションがあります。

表示したいフィールドのリストを指定できます。一般的なフィールドには、source (ファイルシステム)、fstype (ファイルシステムの種類)、sizeusedavailpcent (使用率)、および target (マウントポイント) が含まれます。

ファイルシステムのソース、サイズ、使用済みスペース、利用可能スペース、およびマウントポイントをすべて人間が読める形式で表示するカスタムレポートを作成してみましょう。

df -h --output=source,size,used,avail,target

このコマンドは、要求された列のみを含む、クリーンでカスタマイズされたテーブルを生成します。

Filesystem      Size  Used Avail Mounted on
overlay          20G  126M   20G /
tmpfs            64M     0   64M /dev
tmpfs           7.7G     0  7.7G /sys/fs/cgroup
shm              64M     0   64M /dev/shm
/dev/nvme1n1    100G   20G   81G /etc/hosts
tmpfs           7.7G     0  7.7G /proc/acpi
tmpfs           7.7G     0  7.7G /proc/scsi
tmpfs           7.7G     0  7.7G /sys/firmware

この機能は、簡潔なレポートを生成したり、他のスクリプトにデータを渡したりするのに強力であり、出力フォーマットを正確に制御できます。

まとめ

この実験では、Linux でファイルシステムのディスク容量を監視するために df コマンドを使用する方法を学びました。基本的なコマンドから始め、次に -h オプションを使用して人間が読める形式の出力を取得しました。特定のパスのディスク容量を確認する練習をし、df がファイルシステム全体を報告するという重要な区別についても学びました。最後に、-T でファイルシステムの種類を表示したり、-i で inode の使用状況を確認したり、--output でカスタムレポートを作成したりする高度なオプションを探求しました。これらのスキルは、あらゆる Linux ユーザーまたはシステム管理者にとって基本的です。

Linux コマンド チートシート