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 ~]# ls anaconda-ks.cfg initial-setup-ks.cfg OnePiece 模板 圖片 下載 桌面 core.3160 onepiece 公共 視頻 文檔 音樂 [root@xuexi ~]# locate -i onepiece /root/OnePiece /root/onepiece