# find 查找的路径 [选项] [对查询到结果执行的命令]
-mtime(+ | -)n:此选项代表查找出n天以前文件内容发生改变的文件。
-ctime(+ | -)n:此选项代表查找出n天以前的文件的属性发生改变的文件。
-newer file:此选项代表查找出所有比file新的文件。
-newer file1! –newer file2:此选项代表查找比file1文件时间新但是没有file2时间新的文件。
# find / -mtime -3
如果想查找在/home目录下查找比file1新但是没有file2新的文件,则执行命令:
#find /home -newer file1 ! –newer file2
-user 用户名:根据文件的属主名查找文件。
-group 组名:根据文件的属组名查找文件。
-uid n:根据文件属主的UID进行查找文件。
-gid n:根据文件属组的GID进行查找文件。
-nouser:查询文件属主在/etc/passwd文件中不存在的文件。
-nogroup:查询文件属组在/etc/group文件中不存在的文件。
# find /home -user ubuntu
查找出/etc/下所有不属于任何人的文件,应执行命令:
# find /etc -nouser
-name文件名:按找文件名进行查找。
-type文件类型:按文件类型进行查找。
-size[+| -]n(c|k):按照文件尺寸进行查找。
-perm[+| -]文件权限:按照文件权限进行查找。
# find /etc -size +1000000c
# find / -perm -4000
# find / -perm +7000
-o:逻辑或,两个条件只要满足一个即可。在/etc目录下查找大于1MB小于10MB的文件。
-a:逻辑与,两个条件必须同时满足。
# find /etc -size +2048 -a -size -20480
# find /etc -name inittab -o -name grub.conf
# find 查找的路径 [选项] [对结果处理的命令]前三部分就是在前面三节介绍的设定不同的条件,而对结果进行处理的格式为:
# find / -perm -4000 -exec ls –l > /root/SUID_file {} \; 这样就能够保存结果了,其中的“>”命令是输出重定向。
# find /home -name “*.txt” -ok rm {} \;
6、忽略某个目录
如果在查找文件时希望忽略某个目录,因为你知道那个目录中没有你所要查找的文件,那么可以使用-prune选项来指出需要忽略的目录。在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略。
如果希望在/apps目录下查找文件,但不希望在/apps/bin目录下查找,可以用:
$ find /apps -path "/apps/bin" -prune -o -print
7、使用find查找文件的时候怎么避开某个文件目录
比如要在/usr/sam目录下查找不在dir1子目录之内的所有文件
find /usr/sam -path "/usr/sam/dir1" -prune -o -print
find [-path ..] [expression] 在路径列表的后面的是表达式
-path "/usr/sam" -prune -o -print 是 -path "/usr/sam" -a -prune -o
-print 的简写表达式按顺序求值, -a 和 -o 都是短路求值,与 shell 的 && 和 || 类似如果 -path "/usr/sam" 为真,则求值 -prune , -prune 返回真,与逻辑表达式为真;否则不求值 -prune,与逻辑表达式为假。如果 -path "/usr/sam" -a -prune 为假,则求值 -print ,-print返回真,或逻辑表达式为真;否则不求值 -print,或逻辑表达式为真。
这个表达式组合特例可以用伪码写为
if -path "/usr/sam" then
-prune
else
-print
避开多个文件夹
find /usr/sam \( -path /usr/sam/dir1 -o -path /usr/sam/file1 \) -prune -o -print
圆括号表示表达式的结合。
\ 表示引用,即指示 shell 不对后面的字符作特殊解释,而留给 find 命令去解释其意义。
查找某一确定文件,-name等选项加在-o 之后
#find /usr/sam \(-path /usr/sam/dir1 -o -path /usr/sam/file1 \) -prune -o -name "temp" -print