題 無法刪除OS X中的文件


我有一個垃圾文件,我無法刪除它。在你問我STFW之前,沒有,文件沒有被鎖定: - /

該文件是無效的符號鏈接(目標被刪除)。這是輸出 ls -lO 在該文件上:

lrwxrwxrwx  1 1000  _lpoperator  uappnd,nodump,opaque,compressed 22 Apr  3  2009 fly.pdf -> stuff.pdf

的輸出 rm 是

$ sudo rm fly.pdf
rm: fly.pdf: No such file or directory

但是文件確實存在,可以通過確認 ls 或在Finder中打開垃圾。如果我使用菜單清空垃圾,它會播放該聲音並且沒有任何反應。如果我嘗試安全地清空垃圾,它會抱怨沒有得到許可。所以我被困了......有什麼建議嗎?

順便說一句,有問題的文件位於名為“Shared”的捲的垃圾箱中,該卷不是啟動卷。

更新:@bug指出這可能是由於我的鏈接是不透明的,並建議在chroot jail中刪除它。我試過了,chroot給了我一個分段錯誤。這就是我為此所做的:我啟用了root跟踪 這個,並關注@ bug的答案和 這個 創造chroot監獄。 Chroot給了我

# chroot /Volumes/Shared
Segmentation fault: 11

5
2018-02-01 00:55


起源


剛剛在linux中嘗試過它,創建了一個符號鏈接,刪除了目標,之後刪除鏈接時沒有任何抱怨。奇怪的問題:/ - Baarn
究竟。在我看來,sym鏈接只是常規文件,所以我有點困惑...... - MetroWind
@Darksair我想如果你使用 rm -rf 它可能也會奏效。 :) - tftd
@TheDevil:不,我試過了,但沒有: - \,這很奇怪...... - MetroWind


答案:


Chflags 有一個選擇 -h 不遵循鏈接(我經常忽略...)。

# chflags -h noopaque,nouappnd,dump fly.pdf

然後清空垃圾桶。


3
2018-02-02 16:39



文件如何獨立進入這種狀態? - Charlie


嘗試將文件拖到桌面,打開終端窗口,輸入您的 sudo rm -R 然後將文件拖到終端窗口。

我之前見過這個作品,我會用它 -R 以防文件真的是一個包。


0
2018-02-01 01:41



當我將該文件拖到任何地方時會發生以下情況:如果目標與垃圾箱中的文件位於同一卷上,Finder想要移動它。它要求我輸入密碼,然後沒有任何反應(文件沒有移動);如果目的地在不同的捲上,Finder想要復制,它就是這樣做的。我可以刪除新復制的文件,但垃圾箱中的文件仍然存在。和 rm -R 產生與沒有相同的輸出 -R。 - MetroWind
試試這個 sudo rm -ri ~/.Trash 然後註銷並再次登錄。 - afragen
謝謝你的想法。但它似乎沒有解決它:-(有問題的文件是在一個名為“共享”的捲的垃圾桶,所以我想我應該更換 ~/.Trash 同 /Volumes/Shared/.Trashes, 對?這是輸出: pastie.org/3292919 (對不起外部鏈接,我這裡不能有多行代碼......,是的,我的UID是1001 :-p) - MetroWind


你有沒有嘗試過 rm -rf * 雖然在垃圾桶裡不能確定它是否可以在您的鏈接上工作但是值得一試它當垃圾箱中的文件拒絕用空垃圾刪除時我使用它


0
2018-02-01 03:00



謝謝您的回答。我試過了,但它仍然抱怨沒有這樣的文件blabla ... - MetroWind


你有沒有嘗試過 unlink? ...

可能是因為它是繞過符號鏈接的 opaque。嘗試通過設置a將其從包含文件系統的上下文中刪除 chroot 監獄:

cd /Volumes/Shared
mkdir bin
sudo cp /bin/zsh /bin/rm ./bin
chroot /Volumes/Shared
cd .Trashes/1001/abroad
sudo rm fly.pdf
sudo rm -r /bin

0
2018-02-01 01:47



感謝您的建議。我嘗試了它,它產生相同的輸出: unlink: fly.pdf: No such file or directory... - MetroWind
等一下......這是一個不透明的鏈接!您的主文件夾是否位於與啟動卷不同的驅動器/分區上? - bug
有問題的文件位於名為“共享”的捲的垃圾箱中,該卷不是啟動卷,而且我的主頁不在其上。什麼是不透明的鏈接?我試圖刪除 opaque 國旗與 chflags,但我不能。 - MetroWind
符號鏈接標記為 opaque 當它們所在的文件系統安裝在另一個文件系統中時,就像普通文件一樣。我將使用可能的解決方案進行編輯...... - bug
Chroot抱怨無法找到 /bin/zsh,這是我的登錄shell。我也試過了 sudo chroot -u root /Volumes/Shared rm .Trashes/1001/abroad/fly.pdf,它抱怨同樣的事情 rm。我應該以某種方式鏈接我的 /bin 和 /usr/bin 成 /Volumes/Shared 第一? - MetroWind