Chmod -r 问题

Chmod -r 问题

这可能是一个愚蠢的问题,但为了测试,我希望将文件夹权限更改为包含所有子目录。但是我输入

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(以及其后的任何内容)将被视为文件名。

您可能将这些选项与cpcoreutils顺便说一下也是)-r/混合在一起-Rcp两者表示同一件事,即递归。


简而言之,您需要:

chmod -R 755 bwjam/

答案2

递归模式更改的正确选项字母是大写R

-R, --recursive
       change files and directories recursively

当你写作时

chmod -r 755 bwjam/

该命令被解释-r删除读取权限文件755bwjam/

答案3

它应该是chmod -R 755 bwjam/递归的。-r对于带有的递归来说,不是一个有效的选项chmod

相关内容