如何递归更改当前目录中所有目录的权限?

如何递归更改当前目录中所有目录的权限?

如何在当前目录中递归更改所有文件和文件夹的文件夹和文件权限?我不确定为什么,但我的命令失败了

output: chmod: missing operand after '644./components/path/path/path'

我的命令是:

find . * -type d -exec chmod 755{} \;

作为用户普多指出,我想将文件夹权限更改为 755-

答案1

644 后面少了一个空格。

另外,644 可能不是您想要的目录。你可能想要 755。

编辑以包含以下评论的答案:

对于目录:

find . -type d -exec chmod 755 {} \;

对于文件:

find . -type f -exec chmod 644 {} \;

很可能还有其他方法(可能更短)来做到这一点,但这会起作用。

答案2

另一种方法是:

chmod -R u=rwX,g=rX,o=rX /path/to/dir

大写的 X 是条件执行 - 如果文件是目录,则添加执行位,或者如果文件已经可执行,则保留执行位。

尽管这会添加对非目录文件的权限。如果这些权限可以接受,则这适用于快速添加对文件夹的访问权限。

相关内容