从搜索整个系统中排除目录

时间:2014-08-01 13:49:48

标签: linux find rhel

我需要搜索具有特定权限的所有文件,同时排除/下的两个目录。这些目录包含很多信息,系统会对它们产生阻塞。

我尝试了-type -path -wholename-prune的各种组合,但似乎无法排除这两个目录。

目前这正是我的尝试。

find . -path './dir1/' -prune -o -path './dir2/' -prune -o -type d -perm -002 ! -perm -1000 > wwlist

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以添加排除目录的条件:

find . '!' -path './dir1/*' '!' -path './dir2/*' ...

更准确地说,还要排除目录本身:

find . '!' -path './dir1' '!' -path './dir2' '!' -path './dir1/*' '!' -path './dir2/*' ...

您也可以使用正则表达式:

find . -regextype posix-extended -not -regex '[.]/dir(1|2)(/.*)?' ...
  • 您也可以使用-not代替!,但它不符合POSIX标准。
  • -wholename-path同义,但不符合POSIX。