du和df命令執行結果不一致問題剖析?

Linux環境下,可以刪除被其它程序使用的檔案,這樣會導致一個問題,從df命令上看,磁碟空間仍然沒有釋放掉,這讓很多Linux系統管理員很費解,本文首先浮現這種場景,然後給出解決辦法

工具/原料

Linux df du

方法/步驟

Linux系統的版本

命令:

cat /proc/version

du和df命令執行結果不一致問題剖析

使用du命令檢視測試檔案的大小,是1G

命令:

du -ksh tmp1G

du和df命令執行結果不一致問題剖析

使用tail命令開啟檔案tmp1G,並且不釋放

命令:

tail -f tmp1G

du和df命令執行結果不一致問題剖析

在另一個終端中執行df命令,檢視執行結果

命令:

df -h

du和df命令執行結果不一致問題剖析

執行du命令,檢視執行結果

命令:

du -ksh

du和df命令執行結果不一致問題剖析

執行rm命令,刪除檔案tmp1G

命令:

rm -f tmp1G

du和df命令執行結果不一致問題剖析

分別使用df和du命令,檢視執行結果

df命令的執行結果和沒有刪除tmp1G時相同,即沒有反映磁碟可用空間變大的情況

du命令的執行結果比沒有刪除tmp1G少了1G,即反映了佔用磁碟空間變少的情況

命令:

df -h

du -ksh

du和df命令執行結果不一致問題剖析

使用Ctrl+C快捷鍵停止tail命令的執行。

再執行df和du命令,

可以看到df命令的執行結果,已經體現tmp1G檔案被刪除後,可用空間增大的資訊

du和df命令執行結果不一致問題剖析

相關問題答案