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


18

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

Answers:


13

您可以使用find

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

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

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


@Gilles谢谢,我不太了解Unix工具的新知识:-)太棒了。另外,现在阅读查找文档,应该真正使用-execdir。
ewindisch 2011年

7

在这种情况下,您可以使用X代替x,仅将这些位添加到已经为某些用户(例如chmod -R +X my_dir)设置了可执行位的目录或文件中。

一般而言(例如,如果您想使所有目录都可读而不影响文件),则可以find-type dgsh 一起使用,或者如果您正在使用zsh(或bash 4和shopt -s globstar)使用**/glob(两者均不将-R标志传递给chmod)。


@吉尔斯:很好,我已经将其添加到了答案中。
sepp2k 2011年

1
“使用X代替x,X仅将这些位添加到已经为某些用户设置了可执行位的目录或文件中”-谢谢!我很想念这个东西!
伊凡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.