這目錄怎麼用了這麼大的空間

這目錄怎麼用了這麼大的空間

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來修復差異。

我只是為了完整性而提及它,但我仍然懷疑更有可能是其他原因。一段時間後,如果您仍然沒有找到任何東西,那麼您應該嘗試一下。

相關內容