web-dev-qa-db-ja.com

df-kとdu-shの違い

df -k
/dev/sda6             25396228  21249088   2836240  89% /export
21G used

versus

du -sh /export 
3.4G    /export

必須ではないファイルをすべて削除したので3.4Gは正しいですが、dfによって報告された空き領域は、そこにあるはずの実際の空き領域と一致していません。

なぜそうなのですか?

8
Bernard Mwagiru

削除したファイルは、おそらくまだプロセスによって開かれています。小切手:

lsof -a +L1 /export

これは次の理由によると思います:

  • df利用可能なブロックをチェックします(スーパーブロック)
  • duは、各ファイルのスペースを合計します。
9
Lollekk

1つ以上のアプリケーションで/exportでファイルが開かれていますが、ファイル名自体は存在しません(つまり、削除されています)。

それらは2つの類似しているがわずかに異なるものを測定します。 dfはファイルシステムの容量を測定し、duはディレクトリツリーを測定します。たとえば、次の場合:

 /dev/sda6 mounted on /exports
 /dev/sda7 mounted on /exports/extra

/ exportsのdfは/ dev/sda6のみを測定し、/ exportsのduは/ dev/sda6と/ dev/sda7を測定します。カウントを変更するファイルシステムの境界を越えることに関するいくつかのフラグがあります。シンボリックリンクの処理も結果に影響を与える可能性があります。

2
Xenoactive