find命令 :
特点: 查找速度慢,实时查找,精确查找
格式:find [OPTION]... [查找路径] [查找条件] [处理动作]
- 查找路径:默认为当前目录
-
查找条件:默认为查找所有文件
-
处理动作:默认是输出到屏幕
查找条件:
-
根据文件名字查找:
-
-name:后跟文件名称,根据文件名字查找。支持使用linux的通配符
-
-iname:同上,忽略大小写
-
-regex:后跟正则表达式,它会匹配整个文件路径,不仅仅是文件名
-
-
根据属主,属组查找:
-
-user:后跟用户名,根据用户名查找文件
-
-group:后跟组名,根据组名查找文件
-
-uid:根据uid查找
-
-gid:根据gid查找
-
-nouser:不跟参数,查找属主为空的
-
-nogroup:查找属组为空的
-
-
根据文件类型查找:
-
-type 文件类型:根据文件类型查找
-
f:普通文件
-
d:目录文件
-
l:符号链接文件
-
s:套接字文件
-
b:块设备文件
-
c:字符设备文件
-
p :管道文件
-
-
-
组合查找:
-
-a:与
-
-o:或
-
-not或!:非
-
例,find / \( -nouser -o -nogroup \) -ls,查找属组为空或属主为空的文件。
-
-
根据文件大小查找:
-
格式:-size [ + | - ] 大小
-
大小=数字+单位
-
单位有k,M,G
-
-
数字+单位:查找的范围是:(数字-1,数字],find /etc -size 3k,查找大于2k小于等于3k的文件
-
-:使用减号表示:[0,数字-1]。例,find /etc -size -3k,查找所有小于等于2k的文件
-
+:加号表示(数字,oo)。例,find /etc -size -3k,查找所有大于3k的文件
-
-
根据时间戳查找:
-
以天为单位:a表示访问时间,m修改时间,c改变时间
-
-atime、-mtime、-ctime:也能配置+,-号使用,使用方法与根据文件大小查找类似
-
例,find /etc -mtime -3,查找修改时间在3天以内的文件。
-
例,find /etc -mtime 3,查找修改时间大于3天小于4天的文件。
-
例,find /etc -mtime +3,查找修改时间大于4天的文件
-
-
-
以分钟为单位:
-
-amin、-mmin、-cmin:同上
-
-
-
根据文件权限查找:
-
格式:-perm [ / | - ] 权限,以例子说明,centos7中+彻底过时,被 / 取代。
-
find /etc -perm 111:精确查找,查找权限为600的文件
-
find /etc -perm /111:查找任何一组满足权限条件的文件,类似或的关系。010也满足条件。
-
find /etc -perm -111:必须三组同时满足条件,类似与的关系。113满足条件。
-
处理动作:
-
-print:默认的处理动作,输出到屏幕
-
-ls:查看文件权限详情,相当于对查询出的文件右执行了"ls -l"命令
-
-delete:删除查找到的文件
-
-fls:后跟路径,将查询到的长文件信息输出到文件。即执行了-ls之后又把输出流重定向到了文件