我希望拥有给定文件夹和文件以及所有后代的写入权限。
我希望所有文件和文件夹都可以递归授予以下权限:777
所以我尝试了:
chmod -r 777 ~/Folder/app/
然后我得到了类似的东西:
chmod: 777: No such file or directory
然后我确实去了~/Folder/app/
并尝试ls -la
检查权限。
我得到:
.: Permission Denied
然后我做了:
sudo ls -la
然后我看到..特殊文件夹有:777 权限,但没有其他权限。
我怎样才能在不删除~/Folder/app/
文件夹的情况下恢复此操作?
我是说: 我们如何才能让 ls 再次工作而不在该文件夹中输入 sudo ?并以某种方式修复我使用 -r 而不是 -R 造成的混乱?
答案1
正如我在评论中指出的那样,您需要提供--recursive
或-R
(大写 R)才能chmod
使其递归工作。
-r
(小写 R)表示删除读取权限(至少在我看来)。然后,此操作将应用于下一个参数,即777
。
因此,您的调用将删除名为 的文件的读取权限777
。该文件不存在,因此,错误消息
chmod: 777: No such file or directory
我不确定它是否chmod
中止了,或者是否试图删除读取权限来自下一个参数~/Folder/app/
。
在后一种情况下,它甚至会消除从您的文件夹读取权限,执行完全相同的操作对面的你最初想要的是什么:)
现在,要解决这个问题,只需使用正确的句法:
chmod --recursive 777 ~/Folder/app/
这将重新添加读取权限(并将 777 模式应用于该文件夹的所有子文件夹)。请注意丹尼斯·威廉姆森的评论,您几乎永远不想设置 777 模式。