我有一个文件在垃圾箱里,我无法删除它。在你要求我 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 中打开垃圾来确认。如果我使用菜单清空垃圾,它会播放该声音并且什么也没发生。如果我尝试安全清空垃圾,它会抱怨没有权限。所以我被困住了……有什么建议吗?
顺便说一句,有问题的文件位于名为“共享”的卷的垃圾箱中,该卷不是启动卷。
更新:@bug 指出这可能是由于我的链接不透明造成的,并建议在 chroot jail 中删除它。我试过了,但 chroot 给了我一个分段错误。以下是我为此所做的:我启用了 root 关注这,并按照@bug的回答这创建 chroot 监狱。Chroot 给了我
# chroot /Volumes/Shared
Segmentation fault: 11
答案1
Chflags
-h
有一个不跟随链接的选项(我一直忽略它……)。
# chflags -h noopaque,nouappnd,dump fly.pdf
然后清空垃圾箱。
答案2
尝试将文件拖到桌面,打开终端窗口,输入sudo rm -R
然后将文件拖到终端窗口。
我以前见过这个工作并且我会使用它-R
以防该文件真的是一个包。
答案3
您是否尝试过rm -rf *
在垃圾箱中使用它,不确定它是否对您的链接有效,但值得一试,当垃圾箱中的文件拒绝使用清空垃圾箱删除时,我使用它
答案4
你有没有尝试过unlink
? ...
可能是因为符号链接被绕过了opaque
,所以尝试通过设置 jail 将其从其包含的文件系统上下文中删除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