find:
实时查找工具,通过遍历指定路径下的文件系统完成文件查找。
特点:
查找速度慢
精确查找
实时查找
语法格式:
find [option]... [查找路径] [查找条件] [处理动作]
查找路径:指定具体目标路径;默认为当前目录
查找条件:指定的查找标准,可以文件名、大小、类型、权限等标准进行;默认为找出指定路径下所有文件
处理动作:对符合条件的文件做什么操作,默认为标准输出至屏幕。、
-print:默认动作,输出至屏幕
-ls:类似ls -l命令
-delete:查找出然后删除
-fls /path/to/somefile
-ok COMMAND {} \;对查到的每个文件执行COMMAND命令,对于每个文件执行命令,需交互确认
-exec COMMAND {} \;直接处理,不交互。 {}:用于引用查找到的文件名称本身
查找条件:
根据文件名查找:
-name "文件名称" (支持使用glob通配 *,?,[],[^]) 例如 find /etc -name "passwd*"
-iname "文件名称" (不区分大小写)
-regex "PATTEN": 以PATTEN匹配整个文件路径字符串,而不仅仅是文件名称:
根据属主 属组查找
-user USERNAME:查找属主为指定用户的文件
group GROUPNAME:查找属组为指定用户的文件。
-uid UserID:查找属主为指定UID的文件
-gid GroupID:查找属主为指定GID的文件
-nouser:查找没有属主的文件
-nogroup:查找没有属组的文件
根据文件类型查找:
-type TYPE:
f:普通文件
d:目录文件
l:符号链接文件
s:套接字文件
b:块设备文件
c:字符设备文件
p:管道文件
组合条件(与 或 非)
-a -o -n
根据文件大小来查找:
-size [+|-]#UNIT
常用单位:k,M,G
UNIT:(#-1,#]
-UNIT:(0,#-1]
+#UNIT:(#,oo)
根据时间戳:
以“天”为单位:
-atime: [+|-]#
-mtime:
-ctime:
以“分钟”为单位:
-amin
-mmin
-cmin
根据权限来查找
-perm [+|-]MODE