我需要在 CentOS 7 中查找不属于用户或不属于组的文件和文件夹。
我有3个测试目录:
root:root test1
root:group test2
user:root test3
Run Code Online (Sandbox Code Playgroud)
我需要能够找到所有 3 个目录,因此我可以在一个 find 命令中 chown user:group。
我已经尝试过这些:
find . ! -user user -or ! -group group
find . ! \( -user user -or -group group \)
Run Code Online (Sandbox Code Playgroud)
但它们都不起作用。我是不是误会了什么?
我已经做了一些进一步的测试,并使用第一个示例:find . ! -user user -or ! -group group -print0我只能从test1目录中获取结果
not (X or Y)和(not X or not Y)是不同的东西,否定不是分配运算。您确实需要括号\xe2\x80\x94,因为-o的优先级低于原色\xe2\x80\x94 的连接所暗示的-a的优先级,但内部的两个谓词也应该被否定。
\nfind . \\( ! -user user -o ! -group group \\) -exec chown user:group {} +\nRun Code Online (Sandbox Code Playgroud)\n