dfは”Disk Free” の略。ファイルシステムのディスク容量の使用状況を表示するコマンドです。
物理ディスク全体やsnapなどのファイルシステムの容量や使用量を確認することができます。残容量を確認したり、保存できなかったときのトラブルシューティングに使えるコマンドです。
ごくたまに「空き容量があるのに保存できない」という現象が起きたとき dfコマンドを知っていれば、iノードが原因であるかどうかを特定できます。
dfコマンドで全体を知り、重いものがあったら次回紹介するduコマンドで重いファイルを特定するといった手順でファイル管理できるので、今回でdfの基本を理解し、便利なオプションを使えるようにしていきましょう。

df コマンド
dfは”Disk Free” の略。ファイルシステムのディスク容量の使用状況を表示するコマンドです。(再掲)
基本構文
dfと打てば実行できます。
df出力例(WSL環境での出力上部)
Filesystem 1K-blocks Used Available Use% Mounted on
none 1940592 0 1940592 0% /usr/lib/modules/6.6.87.2-microsoft-standard-WSL2
none 1940592 4 1940588 1% /mnt/wsl
drivers 495777788 310979128 184798660 63% /usr/lib/wsl/drivers
...出力項目の見方
Filesystem: 各ファイルシステム- 1K-blocks : 1k単位のブロックがいくつ分あるか全体容量
Used: 使用量(1k単位のブロック数)Available: 空き容量(1k単位のブロック数)- Use% :使用量の割合 (100%になってたらOUT)
Mounted on: マウントポイント(どこに繋がっているか)
Used%が使用量なので、ここが重要です。
dfだけだとちょっと見ずらいので、基本は以下で紹介する-hオプションをつけて実行します。
おすすめオプション
-h (Human-readable)
見やすく整形して出力します。
df -h出力結果
Filesystem Size Used Avail Use% Mounted on
/dev/sdd 1007G 1.7G 955G 1% /
none 1.9G 72K 1.9G 1% /mnt/wslg
none 1.9G 0 1.9G 0% /usr/lib/wsl/lib
rootfs 1.9G 2.7M 1.9G 1% /init
none 1.9G 504K 1.9G 1% /run
none 1.9G 0 1.9G 0% /run/lock
none 1.9G 0 1.9G 0% /run/shm出力項目の見方
Filesystem:各ファイルシステム- Size :見やすく整形した容量
Used/Avail:使用済み、空き容量Use%: 使用量の割合 (100%になってたらOUT)Mounted on: マウントポイント(どこに繋がっているか)
容量を整形してくれるので見やすくなりました。
-i (iノード表示)
linuxでは、容量のほかに、ファイルの個数(iノード)も管理しており、これが足りなくなると容量は空いているのに、ファイル保存できないという現象が起きます。
(通常の使用ではまず遭遇しませんが、AIの学習用に小さい画像を大量に用意したり、膨大な学習データを保存したり、仮想OSなど制限された環境であったりすると遭遇する可能性があります。)
df -i出力結果例
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdd 67108864 49576 67059288 1% /
none 485148 33 485115 1% /mnt/wslg
none 485148 5 485143 1% /usr/lib/wsl/lib
rootfs 483888 12 483876 1% /init
none 485148 535 484613 1% /run
none 485148 2 485146 1% /run/lock
none 485148 1 485147 1% /run/shm出力結果をみると、InodesとIUsed IFreeの項目が確認できます。
Inodeとは?
Inodesは、全体の作成可能なファイル数で、IUsedとIFreeの意味は、利用しているinode数(ファイル数)と空いているinode数です。
もし、空き容量があるのに、ファイル保存ができない!といったときはdf -iでファイル数の制限に引っ掛かっていないか確認するとよいでしょう。
-T (ファイルシステムを確認する)
ファイルシステムが使っているのが ext4 なのか xfs なのか、あるいはAWSなどの efs (NFS) なのかを確認できます。
df -Tフォーマット形式によっては、大きなサイズのファイル保存ができなかったりするので、知っておくことが重要です。
出力例(一部抜粋)
Filesystem Type
/dev/sdd ext4 1055762868 1680364 1000379032 1% /
none tmpfs 1940592 76 1940516 1% /mnt/wslg
none overlay 1940592 0 1940592 0% /usr/lib/wsl/lib
rootfs rootfs 1935552 2720 1932832 1% /init
none tmpfs 1940592 508 1940084 1% /run
none tmpfs 1940592 0 1940592 0% /run/lock
none tmpfs 1940592 0 1940592 0% /run/shmTypeのtmpfsやoverlayって何?
df コマンドを実行すると、Type 列に見慣れない単語が並びます。これらは「データをどのように管理・保存するか」というファイルシステムの種類を表しています。
代表的なものと、よく目にする特殊なものについて、イメージを掴んでおきましょう。
1. 物理ディスク系(HDDやSSDに書き込むもの)
これらは「本棚の整理ルール」のようなものです。OSインストール時やディスク追加時に選びます。
- ext4 (Fourth Extended Filesystem)
- 一言で: Linuxの「標準語」。迷ったらこれ。
- 特徴: 非常に安定しており、信頼性が高いです。UbuntuやDebianなどの標準ファイルシステムとして長年採用されています。汎用性が高く、通常の用途で困ることはまずありません。
- xfs
- 一言で: 「大容量」に強い力持ち。
- 特徴: RHEL(Red Hat)やCentOS系で標準採用されています。非常に大きなファイル(動画や巨大なデータベース)の読み書きが得意です。AIの学習データセットやモデルファイルなど、巨大なファイルを扱うサーバーでは ext4 よりも有利な場合があります。
2. 特殊・仮想ファイルシステム系(メモリ上で動くもの)
df でやたらと行数を占領しているのがこれらです。物理的なディスクではなく、Linuxカーネルが動くために作られた「幻のディスク」です。
DockerコンテナやSnapパッケージでよく見かけます。元のシステム(読み取り専用)の上に、変更分だけを書き込める層(透明フィルム)を重ねて、一つのファイルシステムに見せる技術で使われています。
tmpfs (Temporary File System)
- 一言で: 「爆速だけど、電源切ったら消える」RAMみたいな領域(というかRAMそのもの)。
- 実体: ディスクではなく、「メインメモリ(RAM)」の一部をディスクのように見せかけています。
- メリット: 読み書き速度がSSDよりも桁違いに速いです。
- デメリット: メモリなので、再起動すると中身はすべて消えます。
使用用途
一時ファイル置き場(/run や /tmp など)として使われます。
AI学習や大規模な処理での活用: 学習中に頻繁に読み書きする小さなデータを一時的にここ(/dev/shm など)に置くと、学習速度が劇的に上がることがあります。
devtmpfs
システムが使っている領域なので、操作することは基本的にありません。
- 一言で: デバイスドライバーの管理簿。
- 概要:
/devディレクトリにマウントされます。接続されているハードウェア(マウス、キーボード、ディスクなど)をファイルとして扱うための特別な仕組みです。ユーザーが直接データを保存する場所ではありません。
overlay (OverlayFS)
コンテナなどが使っている領域なので、操作することは基本的にありません。
- 一言で: 透明フィルムを重ねる技術。
- 概要: DockerコンテナやSnapパッケージでよく見かけます。元のシステム(読み取り専用)の上に、変更分だけを書き込める層(透明フィルム)を重ねて、一つのファイルシステムに見せる技術です。
オマケ: WSL(windowsでのLinuxカーネル)で出てくる p9 とかrootfsって何?
これらはwindows上でLinuxを動かすためのファイルシステム(もどき)です。純正Ubuntuなどでは基本的に出てきません。
p9は、本来、「Plan 9」というOSで作られたネットワークファイルシステム(通信プロトコル)です。WSL2では、Linux(仮想マシン)から Windows側のファイル(C:\ など)にアクセスするために、この技術を使っています。
rootfsは、Linuxカーネルが起動した直後に読み込まれる、最小限のファイルシステムです。WSLの場合、コンテナ技術に近い仕組みで動いているため、この「初期化用の土台(initramfsのようなもの)」が df にそのまま見えていることがあります(特に /init などにマウントされている場合に多い)。
まとめ
- df : Disk Free。ファイルシステムのディスク容量の使用状況を表示するコマンド
- df -h :読みやすく表示する。
- df -i :inode ファイル数を確認する。
- df -T :ファイルシステムの種類を確認する。
dfコマンドで、システム全体のディスク容量を確認することができるようになりました。
次回は「具体的にどのディレクトリが容量を食っているか」を突き止める du コマンドを紹介します。
似たもの:メモリ(主記憶)の容量チェック freeコマンド
【free】Linuxでメモリの空き容量を正しく確認する方法【Linuxコマンド入門 Part3-2】
メモリの使用量と空き容量を一発で確認する方法、linux freeコマンドについて、おすすめオプションも含めて紹介します。
第三回”Linuxコマンド入門 Part3 ~システムの状態確認とネットワークの基本~”では、linuxでどのようにCPUやメモリの状態を確認するか、ネットワークとの接続チェックなどの基本操作を解説しています。
7 記事
Linuxコマンド入門 Part3 ~システムの状態確認とネットワークの基本~
Linuxのシステム管理コマンドや基本的なネットワーク関係コマンドを理解しよう。
ここまで読んでいただきありがとうございます。
では、次の記事で。 lumenHero