chmod排除

时间:2013-02-18 21:09:58

标签: linux apache ubuntu ssh chmod

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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