文件查找有两种方式:
一、locate:非实时查找,模糊匹配,查找时根据全系统文件数据库进行;速度快
# updatedb:是手动生成文件数据库;速度快
二、find:实时查找,精确匹配,支持众多查找标准,遍历指定目录中的所有文件完成查找;速度慢
find命令的用法
find 查找路径 查找标准 查找到以后的处理运作
查找路径:默认为当前目录
查找标准:默认为指定路径下的所有文件
处理运作:默认为显示
其匹配标准:
-name `FILENAME`:对文件名做精确匹配
文件名通配:
*:任意长度
?:任意单个字符
[]:匹配指定范围内的任意单个字符
[:space:]:空白字符
[:punct:]:标点符号
[:lower:]:小写字母
[:upper:]: 大写字母
[:alpha:]: 大小写字母
[:digit:]: 数字
[:alnum:]: 数字和大小写字母
例:# find /etc -name 'passwd*' --> 查找以/etc目录下以passwd开头的文件
-iname ‘FILENAME':文件名匹配时不区分大小写
-regex PATTERN:基于正则表达式进行文件名匹配
-user USERNAME:根据属主查找
例:# find /tmp -user student --> 查找/tmp目录下属主为student的文件
-group GROUPNAME:根据属组查找
-uid UID:根据UID查找
例: # find /tmp -uid 2003 --> 查找/tmp目录下uid为2003的文件
-gid GID:根据GID查找
-nouser:查找没有属主的文件
例: # find /tmp -nouser --> 查找/tmp目录下没有属主的文件
-nogroup:查找没有属组的文件
-type:根据文件类型查找
文件类型:
f:普通文件
d:目录文件
b:块设备文件(block)
c:字符设备文件(character)
l:符号链接诶文件(pipe)
p:命令管道文件(pipe)
s:套接字文件(socket)
例:# find /tmp -type f --> 查找/tmp目录下的普通文件
-size:根据文件大小查找 [+|-]
(11M 即大于10M小于等于11M)
# k
# M
# G