dfコマンドとは?Linuxでディスクの空き容量・使用率を確認する方法

Linux

Linuxでディスク全体の空き容量や使用率を確認したいときは、dfコマンドを使用します。

サーバーを運用していると、ログファイルやバックアップファイルが増えて、ディスク容量が不足することがあります。

そのようなときにdfコマンドを使うと、どのファイルシステムがどれくらい使われているのか、空き容量がどれくらい残っているのかを確認できます。

この記事では、Linux初心者でも実際に使えるように、dfコマンドの基本構文、df -hの見方、マウントポイントやファイルシステムの意味、inodeの確認方法、duコマンドとの違い、容量不足時の調査手順まで実例付きで解説します。

  1. dfコマンドとは
  2. dfコマンドの基本構文
  3. ディスク容量を読みやすい単位で確認する方法
  4. df -hの出力項目の見方
  5. 特定のディレクトリが属するディスク容量を確認する方法
  6. ファイルシステムの種類を表示する方法
  7. inodeの使用状況を確認する方法
  8. なぜinode不足が起きるのか
  9. 容量を1KB単位で表示する方法
  10. 容量をMB単位で表示する方法
  11. すべてのファイルシステムを表示する方法
  12. 不要な種類を除外して表示する方法
  13. 特定の種類だけ表示する方法
  14. dfコマンドの主なオプション
  15. 合計容量を表示する方法
  16. dfとduコマンドの違い
  17. dfとlsblkコマンドの違い
  18. 容量不足を調査する基本手順
    1. 1. 全体の空き容量を確認する
    2. 2. inode不足も確認する
    3. 3. 容量が大きいディレクトリを探す
    4. 4. さらに下の階層を調べる
    5. 5. 大きいファイルを探す
  19. dfで容量が減らないときの原因
  20. dfコマンドでよくあるエラー
    1. No such file or directory
    2. Permission denied
    3. 表示される項目が多すぎる
    4. duとdfの結果が合わない
  21. よくある質問
    1. dfコマンドは何に使いますか?
    2. ディスク容量を見やすく表示するには?
    3. inodeの使用率を確認するには?
    4. ファイルシステムの種類も表示できますか?
    5. dfとduの違いは何ですか?
    6. 容量不足を調べるには何から実行すればよいですか?
    7. ファイルを削除したのにdfの容量が減らないのはなぜですか?
    8. tmpfsを表示しないようにできますか?
    9. UbuntuやCentOS Streamでも使えますか?
  22. まとめ

dfコマンドとは

dfは、Linuxでファイルシステムごとのディスク容量を確認するコマンドです。

dfは「disk free」の略で、ディスク全体の使用量、空き容量、使用率、マウントポイントなどを確認できます。

主に次のような場面で使用します。

  • ディスクの空き容量を確認したいとき
  • サーバーの容量不足を調査したいとき
  • どのマウントポイントがいっぱいか確認したいとき
  • ファイルシステムの種類を確認したいとき
  • inode不足を調べたいとき

VPSやLinuxサーバーを管理するなら、df -hは必ず覚えておきたい基本コマンドです。

dfコマンドの基本構文

dfコマンドの基本構文は次のとおりです。

df [オプション] [ファイルまたはディレクトリ]

オプションなしで実行すると、現在マウントされているファイルシステムの容量情報が表示されます。

df

ただし、オプションなしでは容量の単位が分かりにくいため、実際には-hを付けて使うことが多いです。

df -h

ディスク容量を読みやすい単位で確認する方法

ディスク容量を確認するときによく使うのがdf -hです。

df -h

実行結果の例です。

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   32G   16G  67% /
tmpfs           980M     0  980M   0% /dev/shm
/dev/sdb1       100G   60G   40G  60% /data

-hは「human-readable」の意味で、容量をKB、MB、GBなどの読みやすい単位で表示します。

df -hの出力項目の見方

項目 意味
Filesystem ファイルシステムやデバイス名
Size 全体容量
Used 使用済み容量
Avail 利用可能な空き容量
Use% 使用率
Mounted on マウントポイント

容量不足を確認するときは、まずUse%Availを見ます。

Use%が高く、Availが少ないファイルシステムは、容量不足に注意が必要です。

特定のディレクトリが属するディスク容量を確認する方法

dfでは、ファイルやディレクトリを指定して、その場所が属しているファイルシステムの容量を確認できます。

df -h /var/log

実行結果の例です。

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   32G   16G  67% /

この例では、/var/log/ファイルシステム上にあることが分かります。

ログディレクトリやバックアップ先がどのディスクを使っているか確認したいときに便利です。

ファイルシステムの種類を表示する方法

ファイルシステムの種類も確認したい場合は、-Tオプションを使用します。

df -hT

実行結果の例です。

Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/sda1      xfs    50G   32G   16G  67% /
/dev/sdb1      ext4  100G   60G   40G  60% /data
tmpfs          tmpfs 980M     0  980M   0% /dev/shm

Type列に、xfsext4tmpfsなどのファイルシステム種類が表示されます。

inodeの使用状況を確認する方法

ディスク容量に空きがあるのにファイルを作成できない場合、inodeが不足している可能性があります。

inodeの使用状況を確認するには、-iオプションを使用します。

df -i

実行結果の例です。

Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/sda1      3276800 120000 3156800    4% /
/dev/sdb1      6553600 500000 6053600    8% /data

IUse%が100%に近い場合、容量に空きがあっても新しいファイルを作成できなくなることがあります。

なぜinode不足が起きるのか

inodeは、Linuxがファイルやディレクトリを管理するための情報です。

小さなファイルが大量に作成されると、ディスク容量には余裕があってもinodeを使い切ることがあります。

たとえば、次のようなディレクトリではinode不足が起こりやすいです。

  • キャッシュファイルが大量にあるディレクトリ
  • メールスプール
  • セッションファイル保存先
  • 一時ファイル保存先
  • 大量の小さなログファイルがある場所

容量不足だけでなく、inode不足もdf -iで確認しておくと安心です。

容量を1KB単位で表示する方法

-kオプションを使うと、容量を1KB単位で表示できます。

df -k

スクリプトで数値を扱いたい場合などに使えます。

容量をMB単位で表示する方法

-mオプションを使うと、容量をMB単位で表示できます。

df -m

サーバー容量を大まかに確認したいときに使いやすい形式です。

すべてのファイルシステムを表示する方法

-aオプションを使うと、通常は表示されにくい疑似ファイルシステムなども含めて表示できます。

df -a

ただし、出力が多くなるため、普段の容量確認ではdf -hで十分なことが多いです。

不要な種類を除外して表示する方法

-xオプションを使うと、指定したファイルシステムの種類を除外できます。

df -h -x tmpfs

tmpfsを除外して、実ディスク中心に確認したい場合に便利です。

複数の種類を除外したい場合は、-xを複数回指定します。

df -h -x tmpfs -x devtmpfs

特定の種類だけ表示する方法

-tオプションを使うと、指定したファイルシステムの種類だけを表示できます。

df -h -t xfs

xfsのファイルシステムだけを確認したい場合に使えます。

dfコマンドの主なオプション

オプション 説明
-h KB、MB、GBなど読みやすい単位で表示する
-T ファイルシステムの種類を表示する
-i inodeの使用状況を表示する
-a すべてのファイルシステムを表示する
-k 1KB単位で表示する
-m MB単位で表示する
-t 種類 指定した種類のファイルシステムだけ表示する
-x 種類 指定した種類のファイルシステムを除外する
--total 合計行を表示する
--help ヘルプを表示する
--version バージョン情報を表示する

合計容量を表示する方法

--totalオプションを使うと、最後に合計行を表示できます。

df -h --total

複数のファイルシステム全体の合計をざっくり確認したいときに便利です。

dfとduコマンドの違い

dfとよく混同されるコマンドにduがあります。

dfはファイルシステム全体の空き容量や使用率を確認するコマンドです。

duはファイルやディレクトリごとのディスク使用量を確認するコマンドです。

コマンド 確認する対象 よく使う例
df ディスク全体・ファイルシステム全体 df -h
du ファイル・ディレクトリ単位 du -sh /var/log

容量不足の調査では、まずdf -hでどのファイルシステムが不足しているか確認し、その後duで原因となるディレクトリやファイルを探します。

dfとlsblkコマンドの違い

dfは、マウントされているファイルシステムの容量を確認するコマンドです。

一方、lsblkは、ディスクやパーティションなどのブロックデバイス構成を確認するコマンドです。

コマンド 主な用途
df マウント済みファイルシステムの容量確認
lsblk ディスク・パーティション構成の確認

「空き容量を見たい」ならdf、「ディスク構成を見たい」ならlsblkを使います。

容量不足を調査する基本手順

Linuxサーバーで容量不足が疑われる場合は、次の流れで確認すると分かりやすいです。

1. 全体の空き容量を確認する

df -h

Use%が高いファイルシステムを確認します。

2. inode不足も確認する

df -i

IUse%が高い場合は、小さなファイルが大量にある可能性があります。

3. 容量が大きいディレクトリを探す

du -h --max-depth=1 / | sort -hr

どのディレクトリが容量を使っているか確認します。

4. さらに下の階層を調べる

du -h --max-depth=1 /var | sort -hr

容量が大きいディレクトリを掘り下げて調査します。

5. 大きいファイルを探す

du -ah /var/log | sort -hr | head -n 20

容量を多く使っているファイルを確認します。

dfで容量が減らないときの原因

ファイルを削除したのにdf -hの使用量が減らないことがあります。

原因の1つは、削除済みのファイルをプロセスが開いたままにしているケースです。

この場合、ファイル名としては削除されていても、プロセスが使用中のためディスク領域が解放されません。

確認にはlsofを使うことがあります。

sudo lsof | grep deleted

対象プロセスを停止または再起動すると、容量が解放される場合があります。

dfコマンドでよくあるエラー

No such file or directory

df: /path/to/file: No such file or directory

指定したファイルやディレクトリが存在しない場合に表示されます。

pwd
ls -l

現在のディレクトリやパスを確認してください。

Permission denied

df: /root: Permission denied

指定したパスへアクセスする権限がない場合に表示されます。

必要に応じて、確認対象や権限を見直してください。

表示される項目が多すぎる

tmpfsdevtmpfsなどが多く表示され、見づらい場合があります。

実ディスク中心に確認したい場合は、-xで除外できます。

df -h -x tmpfs -x devtmpfs

duとdfの結果が合わない

dfduでは確認している対象が違うため、結果が一致しないことがあります。

dfはファイルシステム全体の使用量を見ます。duは指定したディレクトリ配下の使用量を集計します。

削除済みファイルをプロセスが開いている場合や、権限のないディレクトリをduで集計できていない場合も差が出ることがあります。

よくある質問

dfコマンドは何に使いますか?

ディスク全体やファイルシステムごとの空き容量、使用量、使用率を確認するために使います。

ディスク容量を見やすく表示するには?

-hオプションを使います。

df -h

inodeの使用率を確認するには?

-iオプションを使います。

df -i

ファイルシステムの種類も表示できますか?

-Tオプションを使うと表示できます。

df -hT

dfとduの違いは何ですか?

dfはファイルシステム全体の空き容量や使用率を確認します。duはファイルやディレクトリごとの使用量を確認します。

容量不足を調べるには何から実行すればよいですか?

まずdf -hで全体を確認し、その後duで容量の大きいディレクトリやファイルを探します。

ファイルを削除したのにdfの容量が減らないのはなぜですか?

削除済みファイルをプロセスが開いたままにしている可能性があります。必要に応じてlsofで確認します。

sudo lsof | grep deleted

tmpfsを表示しないようにできますか?

-xオプションで除外できます。

df -h -x tmpfs

UbuntuやCentOS Streamでも使えますか?

はい。Ubuntu、Debian、CentOS Stream、Rocky Linux、AlmaLinuxなど、一般的なLinuxディストリビューションで利用できます。

まとめ

dfコマンドは、Linuxでディスク全体やファイルシステムごとの空き容量を確認するためのコマンドです。

基本的には、次のコマンドを覚えておけば容量確認ができます。

df -h

ファイルシステムの種類も確認したい場合は、-Tを使います。

df -hT

inode不足を調べる場合は、-iを使います。

df -i

dfはファイルシステム全体の空き容量を確認するコマンドで、duはファイルやディレクトリ単位の使用量を確認するコマンドです。

容量不足を調査するときは、まずdf -hで全体の使用率を確認し、その後duで原因となるディレクトリやファイルを探す流れが基本です。

LinuxサーバーやVPSを運用するなら、df -hdf -idf -hTの3つは覚えておくと便利です。

コメント

タイトルとURLをコピーしました