模糊的Unix查找命令语法理解

时间:2014-02-03 11:07:45

标签: unix find

需要帮助理解这个复杂的Unix find 命令及其操作:

find . \( \! -user xx -exec chown -- xx '{}' + -false \) -o    \
\( \! -group root -exec chgrp -- root '{}' + \) -o \
\( ! -perm 700 -exec chmod -- 700 '{}' + -exec false \; \)

另外,我特别关注 -false 谓词的目的。我想我混合了GNU和非GNU 查找语法

1 个答案:

答案 0 :(得分:1)

-o的错误谓词评估为false,此处用于防止短路。

  • 如果用户不是xx make it xx
  • 如果group不是root,请将其设为root
  • 如果没有为所有者设置所有权限,则授予所有权限。

每个命令由-o分隔,并由false终止,以便它们全部应用于每个项目。