
Unix 不是我的母語,我對他們的檔案系統概念感到困惑。
當我查看我的可用空間時,我看到:
/$ df -kh
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.9G 7.1G 397M 95% /
none 3.7G 120K 3.7G 1% /dev
none 3.7G 4.0K 3.7G 1% /dev/shm
none 3.7G 48K 3.7G 1% /var/run
none 3.7G 0 3.7G 0% /var/lock
/dev/xvdf 100G 19G 82G 19% /db
/dev/xvdg 100G 15G 86G 15% /images
/dev/xvdb 414G 199M 393G 1% /mnt
對我來說,這意味著 /db 下的所有檔案和目錄都在檔案系統 xvdf 上,/images 下的所有內容都在 xvdg 上,/mnt 下的所有內容都在 xvdb 上。其他一切都在 xvda1 上。
然而xvda1只有7.9G的空間。那麼為什麼
/$ sudo du -sh var
25G var
讓我看看 /var 佔了 25G?我一開始以為它可能正在計算符號鏈接目的地的內容,但我知道下面的一些目錄有一個指向 /images 目錄的符號鏈接,並且有 86G 的內容,因此如果遵循符號鏈接,則 var 應該 >86G。
那麼 /var 怎麼能在只有 7.9G 的驅動器上佔用 25G 呢?
順便說一句,這是一個在亞馬遜 EC2 中運行的 ubuntu 執行個體(如果這很重要的話)。
答案1
這將為您的麻煩提供正確的答案。
du -ch --最大深度=1 -x /var
-x
將僅顯示一個檔案系統的資料使用情況,因此跳過 /var 目錄中其他檔案系統的內容
--max-depth=1
將只提供第一級的資料使用情況,例如 /var/a /var/b 等
答案2
根據 df 的輸出,
/dev/xvdg 100G 15G 86G 15% /images
/images 中僅使用了 15G。
答案3
確保它var
不是指向任何其他檔案系統的符號連結。
/$ ls -ld var
drwxr-xr-x 14 root root 4096 Jun 22 02:13 var
答案4
您也可能需要運行fsck
來修復差異。
我只是為了完整性而提及它,但我仍然懷疑更有可能是其他原因。一段時間後,如果您仍然沒有找到任何東西,那麼您應該嘗試一下。