如何清空垃圾箱?

如何清空垃圾箱?

我的垃圾箱中有一個奇怪的文件,當我清空垃圾箱時,該文件不會消失。檔案名稱如下所示:

␀␀␀õ␀␀.õ␀

該檔案顯然位於 /Volumes/NO NAME/.Trashes/501/ 中(“NO NAME”是我的 Windows 訓練營卷,所以我什至不確定為什麼它有一個 .Trashes 目錄。如果我嘗試“ls”那個文件,甚至那個目錄,我得到:

ls: \004␀␀␀õ\001␀␀.õ\001␀: File name too long

如果我嘗試“sudo ls -le”、“sudo ls -la”或“sudo ls -i”,也會發生同樣的事情。

當我嘗試 rm 或甚至“find .-type f -print0 | sudo xargs -0 rm”時,會得到類似的結果

我怎樣才能擺脫它?

答案1

這個人遇到了同樣的問題,並透過在 Windows 中執行磁碟檢查來修復它。

答案2

要嘗試的一件事是使用比 ls 更低等級的呼叫來列出目錄

python -c 'import os; print repr(os.listdir("/Volumes/NO NAME/.Trashes/501/"))'

如果可行,也許可以嘗試使用該unlink()功能

編輯:取消連結嘗試

python -c 'import os; os.unlink("/Volumes/NO NAME/.Trashes/501/\x04\xe2\x90\x80\xe2\x90\x80\xe2\x90\x80o\xcc\x83\x01\xe2\x90\x80\xe2\x90\x80.o\xcc\x83\x01\xe2\x90\x80")'

答案3

您是否嘗試過透過 inode 刪除?

ls -i

將顯示檔案及其索引節點號

$ ls -i *.log
 694197 alf.log         694719 mb.log
 694181 fsck_hfs.log     24190 secure.log
 802696 hdiejectd.log   694195 system.log
1094966 install.log     694396 windowserver.log
  24189 ipfw.log

然後使用 find 按 inode 刪除(假設我想從上面刪除 mb.log):

find . -inum 694719 -exec rm {} \;

答案4

您可以嘗試啟動 Windows,看看它是否可以刪除該檔案(假設它實際上可以看到它)。

相關內容