如何递归应用 chmod 目录而不影响文件?

如何递归应用 chmod 目录而不影响文件?

应用于chmod -R目录后,其中的所有内容(文件和目录)的权限都会更改。如何x在不修改文件的情况下向目录添加执行/搜索 ( ) 权限?

答案1

您可以使用寻找

find ./ -type d -execdir chmod 750 {} +

其中 750 是您要应用的模式,“./”是您将递归搜索的目录。

编辑:感谢@Gilles 和查找(1),我对此进行了修改以提高安全性和性能。

答案2

在这种特殊情况下,您可以使用X而不是x只将位添加到已经为某些用户设置了可执行位的目录或文件(即chmod -R +X my_dir)。

一般来说(例如,如果您想让所有目录可读而不影响文件),您可以使用findwith-type d或如果您使用 zsh (或 bash 4 with shopt -s globstar**/glob (两者都不将-R标志传递给chmod)。

相关内容