如何在不影响文件的情况下递归应用 chmod 目录?

Iva*_*van 20 shell find chmod

在我申请chmod -R一个目录后,里面的所有东西(文件和目录)的权限都会改变。如何x在不修改文件的情况下向目录添加执行/搜索 ( ) 权限?

ewi*_*sch 13

您可以使用find

find ./ -type d -execdir chmod 750 {} +
Run Code Online (Sandbox Code Playgroud)

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

编辑:感谢@Gilles 和find(1),我已经修改了这个以获得额外的安全性和性能。


sep*_*p2k 10

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

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