递归地仅更改目录或文件的所有权或权限

递归地仅更改目录或文件的所有权或权限

我正在尝试在给定目录内递归地设置目录或文件的权限/所有权,而不改变另一个。

例如,我有一个目录 /web,我想将其中的所有目录设置为 775,但将文件设置为 664。

有没有办法可以轻松地做到这一点?

答案1

对于文件:

$ find /path/to/directory -type f -print0 | xargs -0 chmod 664

对于目录:

$ find /path/to/directory -type d -print0 | xargs -0 chmod 775

答案2

作为 ErikA 答案的补充,如果我猜出您想要这样做的原因,您是想为“组”添加写入位。如果是这种情况,您可以避免两个命令的舞蹈,只需运行:

chmod -R g+w /path/to/directory

相关内容