我想更改所有文件和目录的所有权,但排除一些目录:
find -user test ! -path "./dir1/*" ! -path "./dir2/*" -exec chown -R root:root {} \;
排除的目录的所有权仍然改变?
问候
find . \( -path ./dir1 -o -path ./dir2 \) -prune -o -user test -exec chown root:root {} \;
就个人而言,为了性能的原因,我更喜欢:
find . \( -path ./dir1 -o -path ./dir2 \) -prune -o -user test -print0 | xargs -0 chown root
尝试这个:
find . -user test | grep -v '^./dir1\|^./dir2'
检查清单是否正确
find . -user test | grep -v '^./dir1\|^./dir2' | xargs chown root:root
做重命名。