我需要在 CentOS 7 中查找不属于用户或不属于组的文件和文件夹。
我有3个测试目录:
root:root test1
root:group test2
user:root test3
我需要能够找到所有 3 个目录,这样我就可以在一个 find 命令中 chown user:group 。
我已经尝试过这些:
find . ! -user user -or ! -group group
find . ! \( -user user -or -group group \)
但它们都不起作用。我是不是误会了什么?
我已经做了一些进一步的测试,并使用第一个示例:find . ! -user user -or ! -group group -print0
我只能得到结果test1
目录
不是(X 或 Y) and (不是 X 也不是 Y)是不同的东西,否定不是分配运算。你确实需要括号——如-o优先级低于-a由主词的合取所暗示——,而且里面的两个谓词都应该被否定。
find . \( ! -user user -o ! -group group \) -exec chown user:group {} +
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)