Linux命令之locate


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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM