locate [选项] [pattern]
在mlocate数据库中搜索条目。配合数据库缓存快速查看文件相关位置。
locate命令和find -name功能差不多,但是比find搜索要快。因为find命令查找的是具体目录文件,而locate搜索的是一个数据库/var/lib/mlocate/mlocate.db,这个数据库中存有本地所有的文件信息,该数据库是Linux自动创建并每天自动更新维护。相关的配置信息在/etx/updatedb.conf,定时任务信息在/etc/cron.daily/mlocate。
(1).常用选项
-d,--database DBPATH 使用DBPATH代替默认数据库(/var/lib/mlocate/mlocate.db)-h,--help 帮助-i,--ignore-case 匹配pattern时忽略大小写-r,--regexp REGEXP 搜索基本正则表达式REGEXP代替pattern--regex pattern是扩展正则表达式-V,--version 版本信息
(2).实例
查找名字里带有updatedb的文件(Linux一切皆文件),如果目录匹配则会显示所有子文件
[xf@xuexi ~]$ locate updatedb/etc/updatedb.conf/usr/bin/updatedb/usr/share/augeas/lenses/dist/updatedb.aug/usr/share/man/man5/updatedb.conf.5.gz/usr/share/man/man8/updatedb.8.gz/usr/share/vim/vim74/ftplugin/updatedb.vim/usr/share/vim/vim74/syntax/updatedb.vim
由于默认-w选项查找完整路径,还可以选择部分路径查找
[xf@xuexi ~]$ locate /etc/updatedb/etc/updatedb.conf[xf@xuexi ~]$ locate /syntax/update/usr/share/vim/vim74/syntax/updatedb.vim
为避免locate找不到新创建的文件,可以使用updatedb立刻更新数据库(需要root用户)
[root@xuexi ~]# touch OnePiece[root@xuexi ~]# locate OnePiece[root@xuexi ~]# updatedb[root@xuexi ~]# locate OnePiece/root/OnePiece
不区分关键字的大小写
[root@xuexi ~]# lsanaconda-ks.cfg initial-setup-ks.cfg OnePiece 模板 图片 下载 桌面core.3160 onepiece 公共 视频 文档 音乐[root@xuexi ~]# locate -i onepiece/root/OnePiece/root/onepiece