-1

我知道我应该分配一个组,然后设置一个 umask,以便组的可写权限保持不变,但无论出于何种原因,我都不能这样做。我需要递归地chmod一个目录,除了一个子文件夹(web10),下面的工作吗?

cd /var/www/clients/
find . -type f -not -path "*web10*" -exec chmod 777 '{}' \;
4

1 回答 1

1

如果要排除文件或目录,请使用-prune

find /var/www/clients/ -name web10 -type d -prune -o -type f -print0 | xargs -0 chmod 0640

您还应该xargs尽可能使用。-exec为找到的每个文件调用一次命令,而xargs收集尽可能多的文件并为 N 个文件调用一次命令,从而提高执行效率和性能。

于 2013-02-18T21:54:10.030 回答