如果在根下创建一个目录temp,又在temp目录下创建dr1、dr2目录,再创建一个file普通文件
1. 如果在find搜索时,不想搜索到temp当前目录
[root@minion ~]# find ./temp -mindepth 1 -mtime -1
./temp/dr2
./temp/dr1
./temp/file
mindepth 1 是指定最小的遍历深度. /temp本身的深度是0, 所以当最小遍历深度为1的时候正好排除 /temp.
如果是改成2,那么只能排除./根目录,而不能排除temp这个目录
前提是知道目录的地址。
2.
(1)如果find查找某个文件时,不想要查找到temp目录
[root@minion ~]# find . -path ./temp -prune -o -mtime -1 -print
.
./.bash_history
注意要排除的目录要写成./temp ,不要写成./temp/,否则不起作用。
后面一定要加 -print
-path 是指定排除目录,
-prune -o (-o是或者or)是一个判断语句,如果-prune -o 左边的语句为真,那么在排除这个目录下查找内容;如果-prune -o 左边为假,那么在当前所有目录查找内容。
(2)如果在当前目录下在创建一个目录temp2,想要排除temp和temp2这两个目录
[root@minion ~]# find . \( -path ./temp -o -path ./temp2 \) -prune -o -mtime -1 -print
.
./.bash_history
注意需要加(),并使用\脱意,中间使用-o连接两个排除目录