Find

查找、chown 和排除目錄

  • August 4, 2020

我想更改所有文件和目錄的所有權,但排除一些目錄:

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

進行重命名。

引用自:https://serverfault.com/questions/585132