使用格式:find [查找目录] [查找规则] [查找完后执行的操作]
【查找目录】
即要查找的路径,可以使用 .(当前路径),~等符号,如果是多个路径用空格间隔起来。
【查找完执行的操作】
# -print //默认情况下的动作,正常显示出文件
# -ls //查找到后用ls方式显示出来
# -ok [command] //查找后询问用户是否要执行command(命令)
# -exec [command] //查找后直接执行命令,不询问用户
# -delete //删除查找到的文件
# -fprint [filename] //显示并将搜索结果写入到文件中
# -fls [filename] //同上,ls方式显示并写入文件中
注:在命令中使用{}代替查找出来的文件。
【查找规则】
1.name选项(按文件名查找)
find [path] -name "文件名" 文件名可以使用正则规则进行通配寻找,比如*(任意字符),?(任意单个字符)等。-iname表示不去分大小写。
2.perm选项(按文件权限查找)
find [path] -perm xxx xxx表示8进制表示的权限
3.user group选项(按用户,组查找)
find [path] -user [username/groupname] 查找属主为某用户/组的文件
find [path] -nouser/-nogroup 查找没有有效所属用户/组的所有文件
4.?time选项(按时间查找)
find [path] -?time [+/-天数] 减号-表示距今n天以内,加号+表示距今n日以前。
其中-atime表示“最近一次访问时间”,-mtime表示“最近一次内容修改时间”,-ctime表示“最近一次属性修改时间”。每个-?time都对应一个-?min,即-amin、-mmin、-cmin,区别是?time的单位指的是“天”,而?min的单位是“分钟”。
5.type选项(按类型查找)
find [path] -type [filetype] 文件类型有f,d,l,b,c,p,s等,具体含义查找linux相关资料。
6.size选项(按文件大小查找)
find [path] -size [文件大小] 这里文件大小的单位是字节,前面可以加上+或者-,分别表示大于和小于。数字后面加c的话表示单位是块,一块等于512字节。
7.path,prune选项(限定/忽略目录)
这里介绍的很详细,不再重复编写。
8.newer选项(查找比某文件新/旧的文件)
find [path] -newer [file] 查找比file文件新的文件
find [path] -newer [file1] ! -newer [file2] 查找比file1文件新并且比file2文件旧的文件,这里!表示逻辑与
注:新旧针对的是文件的更改时间。
9.-empty
匹配空文件
10.-o,-a,-not选项
-a,-o用来连接两个条件,分别表示逻辑与和逻辑或;-not表示对后面一个条件逻辑取反。