Linuxコマンド一覧

dfコマンド|ディスクの空きを確かめる

__ __ _ _____
\ \ / /__| |_|_ _|__ _ __ _ __ ___
\ \ /\ / / _ \ '_ \| |/ _ \ '__| '_ ` _ \
\ V V / __/ |_) | | __/ | | | | | |
\_/\_/ \___|_.__/|_|\___|_| |_| |_| |_
 
df を試すためのサンドボックスです。実機のファイルには影響しません。
user@webterm:~/project$
 

df は機械のディスクがどれだけ空いているかを見るコマンドです。`-h` の読み方、いまいる場所のファイルシステムを調べる `df -h .`、容量が空いているのに書けないときの `df -i` を、ブラウザ上のターミナルで打ちながら確認できます。

最終更新: 2026-09-06

書式

df [オプション] [パス]

パスを渡さなければ、機械にあるファイルシステムを全部出します。

まず打ってみる

-h を付けると、読みやすい単位になります。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        20G  5.0G   14G  27% /
/dev/sda2        40G   10G   28G  27% /home
/dev/sda3       1.0G  205M  819M  20% /boot
tmpfs           2.0G     0  2.0G   0% /tmp
tmpfs           800M  1.0M  799M   1% /run
devtmpfs        2.0G     0  2.0G   0% /dev

1行が1つのファイルシステムです。

意味
Filesystem装置の名前
Size全体の大きさ
Used使っている量
Avail空いている量
Use%使用率
Mounted onその装置が見えている場所

見るべきは Use%Mounted on の2つです。 Use% が 100% に近い行を見つけたら、その Mounted on の場所が満杯になっています。

いまいる場所を調べる

パスを渡すと、そのパスが載っているファイルシステムだけが出ます。

$ df -h .
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        40G   10G   28G  27% /home

マウントポイントを正確に打つ必要はありません。 書き込もうとしている場所をそのまま渡せば、担当のファイルシステムが分かります。

$ df -h /boot
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3       1.0G  205M  819M  20% /boot

/boot のように小さく切られた場所は、気づかないうちに埋まりやすいところです。

容量は空いているのに書けないとき

ファイルシステムには、置けるファイルの数にも上限があります。 これを inode と呼び、-i で見られます。

$ df -i
Filesystem     Inodes  IUsed  IFree IUse% Mounted on
/dev/sda1      1310720 100000 1210720    8% /
/dev/sda2      2621440  50000 2571440    2% /home
/dev/sda3        65536    320  65216    0% /boot
tmpfs           524288     10 524278    0% /tmp
tmpfs           524288     50 524238    0% /run
devtmpfs        524288    300 523988    0% /dev

Use% に余裕があるのに書き込めないときは、IUse% を見てください。 小さなファイルを大量に作るセッション管理やキャッシュで、先に inode が尽きることがあります。

実務での使いどころ

df は、「容量が足りない」と言われたときに最初に打つコマンドです。

場面打ち方
どこが満杯かを見つけるdf -h
書き込もうとしている場所を調べるdf -h .
ログ置き場だけ確かめるdf -h /var/log
容量が空いているのに書けないdf -i
満杯の場所で犯人を探すdu -h --max-depth=1

df で場所を特定し、du で中身を追う。 この順番を覚えておけば、ディスク関連の障害はだいたい追いかけられます。

つまずきやすいところ

-h を付けないとブロック数です。

$ df
Filesystem      1K-blocks      Used Available Use% Mounted on
/dev/sda1        20971520    5242880   14680064  27% /
/dev/sda2        41943040   10485760   29360128  27% /home
/dev/sda3         1048576     209715     838861  20% /boot
tmpfs             2097152          0    2097152   0% /tmp
tmpfs              819200       1024     818176   1% /run
devtmpfs          2097152          0    2097152   0% /dev

数字が桁で並ぶので、人が読むときは -h を付けます。

存在しないパスは受け付けません。

$ df -h /nope
df: '/nope': No such file or directory

ファイルを消しても減らないことがあります。 プロセスがそのファイルを開いたままだと、消した領域は解放されません。 df が減らないときは、そのファイルを掴んでいるプロセスを探して終了させます。

手を動かして覚える

webterm.appこのサイト

learn.webterm.app別のサイト

>_WEBTERM LEARN

WebTerm Learn|1つのコマンドから、使える状態へ

コマンドは単体で覚えるより、実際の作業の流れの中で使うほうが身につきます。順番に積み上げていくコースがあります。

コースを見る

関連するコマンド

du / ls / rm

よくある質問

df と du の違いは何ですか?
`df` は機械全体でどれだけ空いているか、`du` はどのディレクトリが使っているかを見ます。まず `df` でどのファイルシステムが埋まっているかを特定し、その場所で `du` を打つ、という順番です。
Use% が 100% になっていたらどうしますか?
その行の Mounted on の場所へ移動して `du -h --max-depth=1` を打ちます。どのディレクトリが使っているかが分かるので、そこから消せるものを探します。
容量は空いているのに「書き込めない」と言われます。
inode が尽きている可能性があります。`df -i` を打って IUse% が 100% になっていないか確かめてください。小さなファイルが大量にあると、容量より先に inode がなくなります。
いま書いている場所がどのディスクなのか知りたいです。
`df -h .` です。パスを渡すと、そのパスが載っているファイルシステムの行だけが出ます。
tmpfs という行は何ですか?
メモリ上のファイルシステムです。`/tmp` や `/run` に使われていて、再起動すると中身は消えます。