df
は、/
にマウントされたパーティションで使用される8.9Gを示しています
:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 227G 8.9G 207G 5% /
ただし、/
のdu
を使用すると、muchより小さい数が生成されます。
:~# du -chs /
5.5G /
5.5G total
私はもっと小さい数を期待していましたが、なぜそれほど小さいのですか?
これはより完全な説明です: http://linuxshellaccount.blogspot.com/2008/12/why-du-and-df-display-different-values.html
基本的に、df
はスーパーブロックのみを読み取り、完全に信頼します。 du
は各オブジェクトを読み取り、それらを合計します。
また、実行中のプロセスは、削除されたファイルを開いたままにすることができます。つまり、スペースは予約され、df
によって表示されますが、du
はディレクトリツリーでそのファイルへの参照を認識しないため、予約されたブロックを表示できません。
おそらくdf
は、iノードやその他の管理オーバーヘッドに割り当てられたすべてのスペースを占めていますが、du
は、ファイルが使用するスペースを占めているだけです。