Linux locate命令:快速搜索文件
locate 命令在 Linux 中用于快速查找文件系统中的文件和目录。
locate 命令相当于“find 路径 -name”的用法,相对于 find 命令,该命令的查询速度更快,它是在后台对系统数据库(/var/lib/locatedb)进行搜索。
locate 命令的缺点是刚创建的文件无法立即查询到,原因是将文件写入系统数据库中需要时间,这个时间是一天,即系统数据库每天会自动更新一次。如果需要避免此情况,可以在使用 locate 命令之前,先使用 updatedb 命令手动更新系统数据库。
locate 命令的语法格式如下:
【实例 1】查找带有“1.txt”名称的所有文件和目录,模糊匹配
【实例 2】使用通配符查找特定类型的文件。
locate 命令相当于“find 路径 -name”的用法,相对于 find 命令,该命令的查询速度更快,它是在后台对系统数据库(/var/lib/locatedb)进行搜索。
locate 命令的缺点是刚创建的文件无法立即查询到,原因是将文件写入系统数据库中需要时间,这个时间是一天,即系统数据库每天会自动更新一次。如果需要避免此情况,可以在使用 locate 命令之前,先使用 updatedb 命令手动更新系统数据库。
locate 命令的语法格式如下:
locate [选项] 文件或目录locate 命令常用的选项如下:
- -i:忽略大小写,进行大小写不敏感的搜索;
- -c:仅显示符合条件的文件数量而不输出文件路径;
- -l:输出符合条件的文件路径,每行一个,类似 ls 命令的输出;
- -n N:限制输出结果的数量,只显示前 N 个结果;
- -b:只匹配基准名,忽略路径;
- -w:仅匹配完整单词。
【实例 1】查找带有“1.txt”名称的所有文件和目录,模糊匹配
# locate 1.txt /etc/brltty/brl-ts-pb65_pb81.txt /etc/pki/nssdb/pkcs11.txt /home/1.txt /home/zhangsan/.cache/tracker/parser-sha1.txt /opt/test4/1.txt ……
【实例 2】使用通配符查找特定类型的文件。
# locate -i "*.jpg"-i 选项使得 locate 命令不区分大小写,并且允许使用通配符。这个命令会搜索所有以 .jpg 结尾的文件,不论它们的文件名中其他部分的字符是什么。