我是否可以运行chmod
来将文件夹设置为 0755 并将文件设置为 0644,还是必须将 0755 单独应用于所有文件夹?
答案1
您可以使用find
、通过-exec
或管道命令来完成此操作:
find . -type d -print0 | xargs -0 chmod 0755
或者
find . -type d -exec chmod 0755 {} \;
将-type d
处理所有目录。您也可以运行上述相同的命令来-type f
处理文件(只需确保将 0755 与 0644 交换)。
答案2
您主要可以使用 chmod 的符号模式的“X”权限来执行此操作,这基本上意味着“x,但仅在有意义时”:
chmod -R u=rwX,go=rX /path/to/dir
这将自动在目录上设置 755,在文件上设置 644,但如果任何文件已经具有任何执行权限,它会假定这是有意的(即它们实际上是可执行文件)并将它们也设置为 755。
答案3
想想简单:只有两行(bash,没有python!)
首先所有文件(包括目录):chmod 644 -R *
然后,只有子目录: chmod 755 -R */