我们有一个 App.component 包,里面有一个“Contents”目录,具有以下权限:
drwxrwxrwx 4 root wheel 136 Mar 18 15:05 Contents
当我尝试使用删除该目录时
rm -rf Contents
失败的原因
rm: Contents//MacOS/APP: Permission denied
rm: Contents//MacOS: Directory not empty
rm: Contents//Resources/App.rsrc: Permission denied
rm: Contents//Resources: Directory not empty
rm: Contents/: Permission denied
lsof 显示没有正在使用此捆绑包和运行 stat Contents/Resources/App.rsrc 输出的进程:
234881026 3691189 -rw-r--r-- 1 root wheel 0 733 "Mar 18 16:10:13 2012" "Mar 8 17:00:18 2012" "Mar 18 15:04:39 2012" "Mar 8 17:00:18 2012" 4096 8 0 Contents/Resources/App.rsrc
我们确实有权限删除“Contents”目录,那么为什么仍然失败呢?
编辑:如果我将包从 /Library/Audio/Plug-Ins/Component 移动到 ~/tmp/ 那么它将毫无问题地删除该文件夹
谢谢
答案1
该目录归 拥有root
,因此您需要超级用户权限才能删除它。尝试,
sudo rm -rf Contents
执行前会要求您输入密码。这还会赋予您在命令提示符下执行所有命令的临时超级用户权限,因此请谨慎执行后续命令。
事实上,如果你不习惯这样做,我建议首先将目录移至垃圾箱,直到您确定不需要捆绑包中的任何内容:
sudo mv Contents $HOME/.Trash/