Linux / コマンド / df - ファイルシステムの残り容量を確認

dfはマウントされたファイルシステムごとの全体サイズ、使用量および残り容量を表示します。ディスクがいっぱいかどうか確認するときに使用し、ディレクトリごとの容量を求めるduとは範囲が異なります。

dfは個々のファイルを合計せず、ファイルシステムが返す空き領域などの統計を読みます。Availは一般ユーザーが利用できる領域で、予約ブロックなどがあると全体容量から使用量を引いた値と一致しません。inode(アイノード)は、所有者やアクセス権などのファイル管理情報を保持する仕組みです。ファイルシステムによってはinodeが尽きると、データ領域が残っていても新しいファイルを作れません。

基本的な文法

df [オプション] [ファイルまたはマウントポイント]

インストールされている実装とオプションは、配布版によって異なる場合があります。man dfで現在のシステムの説明を確認してください。

使用例

全体ファイルシステム容量

-hは容量を1024の累乗単位で表示します。例えばGはGiB相当です。マウントは、ファイルシステムをディレクトリに接続して利用できるようにすることを指します。

df -h

特定パスのファイルシステム

指定したパスが属するファイルシステムの空き容量を確認します。

df -h /var

inode使用量

容量は残っているのにファイルの作成が失敗する場合、inodeの枯渇を確認します。

df -i /var

ファイルシステム使用率の読み取り

dfにパスを指定すると、そのパスが属するファイルシステムの容量を確認できます。以下の/はルートディレクトリです。特定のディレクトリ内だけの使用量を求めるコマンドではありません。

df -h /

例の出力(容量やデバイス名は環境によって異なります):

Filesystem  Size  Used Avail Use% Mounted on
/dev/sda2    40G   18G   20G  48% /

Availは一般ユーザーが利用できる空き容量で、ファイルシステム予約ブロックのためSize - Usedと同じとは限りません。dfが満杯なのにファイルサイズの合計が小さく見える場合は、削除されたがまだプロセスが開いているファイルや、別のマウント・予約領域を確認してください。ディレクトリごとの使用量を調べる方法は、duによるファイルやディレクトリの使用量の確認で説明しています。

主なオプションと形式

オプション・形式 説明
-h サイズを人が読みやすい単位で表示します。
-T ファイルシステム形式も表示します。
-i ブロックの代わりにinode使用量を表示します。
-t 形式 指定したファイルシステム形式のみ表示します。
--output=フィールド 必要な出力列を選択します。

使用する際の注意点

ネットワーク・コンテナ・オーバーレイファイルシステムでは、同じストレージが複数行に表示されることがあります。df および du の結果が異なる場合、削除済みでもプロセスが開いたままのファイル、予約ブロック、スナップショットなどを調査してください。自動化では、例えばdf --output=size,used,avail,pcent /varのように列を明示できます。GNU dfでは--outputと-i・-P・-Tの併用はできません。

よくある質問

df と du が異なる値を示す理由は?

df はファイルシステム全体のスペース統計を表示し、du はアクセス可能なファイル・ディレクトリの使用量を合計します。削除後も開かれたままのファイルなどは、両者の結果の差を生じる可能性があります。

公式ドキュメント

オプションの正確な動作と実装ごとの違いは、df 関連公式文書で確認できます。