这可能是一个愚蠢的问题,但为了测试,我希望将文件夹权限更改为包含所有子目录。但是我输入
sudo chmod -r 755 bwjam/
和
chmod -r 755 bwjam/
均无济于事。返回的结果是
chmod: cannot access '755': No such file or directory
如果我不包含 -r 标志,它就可以正常工作,我认为我做错了什么,但我无法用谷歌找到我做错的地方。能解释一下吗?
答案1
chmod
用于-R
递归,而不是-r
。(这对于chown
处理标准权限并随 GNU 一起提供的和兄弟也是如此coreutils
)。
因为:如果你使用-r
,那么它将被视为读取权限位的符号权限表示,并且必然意味着删除 ( )后面跟着的-
Read ( ) 位r
,然后八进制位755
(以及其后的任何内容)将被视为文件名。
您可能将这些选项与cp
(coreutils
顺便说一下也是)-r
/混合在一起-R
,cp
两者表示同一件事,即递归。
简而言之,您需要:
chmod -R 755 bwjam/
答案2
递归模式更改的正确选项字母是大写R
-R, --recursive
change files and directories recursively
当你写作时
chmod -r 755 bwjam/
该命令被解释-r
为删除读取权限文件755
和bwjam/
答案3
它应该是chmod -R 755 bwjam/
递归的。-r
对于带有的递归来说,不是一个有效的选项chmod
。