如何在当前目录中递归更改所有文件和文件夹的文件夹和文件权限?我不确定为什么,但我的命令失败了
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 是条件执行 - 如果文件是目录,则添加执行位,或者如果文件已经可执行,则保留执行位。
尽管这会添加对非目录文件的权限。如果这些权限可以接受,则这适用于快速添加对文件夹的访问权限。