Linux系类(8) - 文件搜索命令locate
文件搜索命令locate
命令格式
locate [文件名]
- 在后台数据库中按文件名搜索,搜索速度更快,而find、which是遍历所有目录去查找;后台数据库在/var/lib/mlocate (保存的搜索数据库)目录下的mlocate.db;数据库不是实时的,更新频率大概一天更新一次,可以通过命令updatedb及时更新
- 查询文件名也可以输入包含文件名进行查询,比如文件全名叫ana.text。可以输入locate ana
- 对于新建的文件,由于数据库没有更新,使用locate 不能查到。可以使用 updatedb强制更新数据库后即可查到。
- 可使用 locate locate 搜索locate相关文件,可看到locate数据库。
- 在不同linux中,该数据库名字稍微不同,例如,locatedb、slocate、mlocate。一般Linux都是mlocate
- 缺点:只能按照文件名进行搜索,但常用
配置文件
新建了一个文件,后台mlocate数据库也更新了,为什么还是查不到,这是因为后台数据库配置文件的问题导致的
配置文件路径:/etc/updatedb.conf
- PRUNE_BIND_MOUNTS = "yes" #:开启搜索限制,yes为后面三项都生效。no为 后面三项都不生效
- PRUNEFS = #:搜索时,不搜索的文件系统
- PRUNENAMES = #搜索时,不搜索的文件类型
- PRUNEPATHS = #:搜索时,不搜索的路径,/tmp在该项中,因此现在知道即使更新了数据库也查不到的问题在哪了吧!
- updatedb.conf:配置文件不仅仅是locate命令需要遵守,whereis和which同样需要遵守