はじめに
この実験 (lab) では、Linux の df コマンドの使い方を学びます。df (disk free) コマンドは、システム上のファイルシステムの合計容量、使用量、空き容量に関する情報を表示するための不可欠なユーティリティです。基本的なコマンドから始め、出力をより読みやすくする方法、特定のパスの使用状況を確認する方法を学び、最終的には必要な情報のみを表示するように出力をカスタマイズします。この実験 (lab) が終わる頃には、Linux システムのディスク容量を監視するために df を快適に使用できるようになるでしょう。
基本的なディスク使用状況のレポート
まず、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 列が追加され、overlay、tmpfs、xfs などのフォーマットが表示されます。
以下のコマンドを実行して、ファイルシステムの種類を人間が読める形式で表示します。
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 (ファイルシステムの種類)、size、used、avail、pcent (使用率)、および 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 ユーザーまたはシステム管理者にとって基本的です。



