Files

根分區的垃圾桶在哪裡?

  • July 17, 2019

trash-put習慣從命令行刪除文件。最近,我將我的rm命令別名為trash-put,這樣我就不會意外刪除一些重要的東西。

然而,現在發生的事情是我不得不從我的/var/log文件夾中刪除一些文件以釋放文件系統上的一些空間/。我這樣做是使用sudo

sudo rm /var/log/somelog

#Above command is equivalent to: 
sudo trash-put /var/log/somelog

執行此操作後,分區上沒有恢復可用空間,因為文件必須已移動到某個垃圾箱。但是,當我檢查我的垃圾桶時,沒有文件。我試圖查看分區.Trash-100上是否有文件夾,但即使那個文件夾也不存在。/

那麼,我的垃圾文件去哪兒了?以及如何找到它以便我可以抽取它以恢復一些空間?

您刪除的那些文件實際上可能仍被另一個程序打開。在這種情況下,當該程序關閉它對文件的句柄時,文件空間將變得可用。

您可以使用以下命令查找這些文件lsof

lsof |grep "var/log"|grep deleted

使用時不會呼叫別名sudo

$ alias a=ls
$ sudo a
sudo: a: command not found

這意味著文件實際上已被刪除,而不是移動到某個垃圾桶。

如果有程序仍然保持打開文件,例如寫入文件,那麼文件使用的空間將不會被回收,直到這些程序關閉文件或退出。

引用自:https://unix.stackexchange.com/questions/209211