我注意到rm -rf
我的 macOS BigSur 中有一个奇怪的行为。我创建了一个字体安装目录:
~/code ❯ ls -la 10:06:54
total 16
drwxr-xr-x 21 fredguth staff 672 Oct 30 08:47 .
drwxr-xr-x+ 71 fredguth staff 2272 Nov 5 10:07 ..
drwxr-xr-x 7 fredguth staff 224 Nov 5 09:57 FontPro <<<<======== This directory
...
我是 user fredguth
,目录的所有者。
~/code ❯ whoami 3m 34s 10:21:34
fredguth
我在尝试着rm -rf FontPro
。
有时候是这样的:
rm: FontPro/tfm/MinionPro-MediumItCapt-osf-l1-ly1--lcdfj.tfm: Permission denied
rm: FontPro/tfm/MinionPro-BoldIt-lf-t2a--base.tfm: Permission denied
...
rm: FontPro/dvips/a_fzbwjk.enc: Permission denied
rm: FontPro/dvips: Directory not empty
rm: FontPro: Directory not empty
我不明白。我用于非空目录,如果不是严格需要,rm -rf
我不想使用。sudo
是否有任何 macOS 设置阻止我rm -rf
,或者我是否遗漏了其他内容?
答案1
新手错误。关于评论建议:
~/code ❯ ls -ld FontPro/tfm
drwxr-xr-x 8156 root staff 260992 Oct 26 21:26 FontPro/tfm
我刚刚意识到这个子目录是由 root 拥有的。这就是罪魁祸首。
~/code ❯ sudo chown -R fredguth FontPro 33s 10:33:20
~/code ❯ ls -ld FontPro/tfm 10:33:39
drwxr-xr-x 8156 fredguth staff 260992 Oct 26 21:26 FontPro/tfm
~/code ❯ rm -rf FontPro 10:33:44
~/code ❯
现在工作。
PS @JG7 和 @roaima,如果您发布答案,我可以将您的答案标记为正确的答案。
答案2
我遇到了类似的情况,但该文件夹归我所有。结果我运行了一个 Docker for Mac 容器,该容器使用该文件夹作为绑定安装。停止我的容器允许我删除该文件夹。
> rm -rf The.Folder.In.Question/
rm: The.Folder.In.Question/: Permission denied
> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
26072a9ee2d7 logtestmicroservice "dotnet watch" 12 minutes ago Up 12 minutes 0.0.0.0:55008->8080/tcp LogTestMicroService_container
bcf515e5792e logtestmicroservice_generator "dotnet watch -- run…" 13 minutes ago Up 13 minutes 0.0.0.0:55007->8080/tcp LogTestMicroService_generator_container
> docker stop 26072a9ee2d7 bcf515e5792e
26072a9ee2d7
bcf515e5792e
> rm -rf The.Folder.In.Question/ && echo good
good