find命令用来在指定目录下查找文件,通过遍历指定其实路径下的文件系统层级结构完成文件查找,如果使用该命令时,不使用任何参数,则find命令默认会在当前路径下查找,并且将查找到的子目录和文件全部进行显示
find与locate对比
locate | find |
---|---|
查找速度快(因为事先已经建立好数据库) | 查找速度略慢 |
模糊查找 | 精确查找 |
非实时查找(例如文件已删除,查找前未更新数据库,文件还会存在) | 实时查找 |
find命令的用法和参数
按文件名查找
-name:按文件名查找
-iname:按文件名查找,查找时忽略大小写
例:
find / -name *.txt :查找根目录下所有.txt的文件
find . -name *.txt :查找当前目录下所有.txt的文件
基于正则表达式查找
-regex:基于正则表达式模糊查找文件,匹配的是整个路径,而非文件名
按文件大小查找
-size[+|-]num:按文件大小查找(num常用单位K,M,G)
例:
find /usr -size +10M:查找/usr目录下大于10M的文件
find ./ -size +10M -size -20M:查找当前目录下大于10M小