linux自學隨筆-find與locate的區別


一:locate命令 
  locate命令用於查找文件,它比find命令的搜索速度快,它需要一個數據庫,這個數據庫由每天的例行工作(crontab)程序來建立。當我們建立好這個數據庫后,就可以方便地來搜尋所需文件了。 
即先運行:updatedb(無論在那個目錄中均可,可以放在crontab中 )后在  /var/lib/slocate/ 下生成 slocate.db 數據庫即可快速查找。在命令提示符下直接執行#updatedb 命令即可:
  例如:查找相關字issue 
  $ locate issue 
  /etc/issue 
  /etc/issue.net 
  /usr/man/man5/issue.5 
  /usr/man/man5/issue.net.5
  二:find命令:
功能:在目錄結構中搜索文件,並執行指定的操作。此命令提供了相當多的查找條件,功能很強大。

當我們用whereis和locate無法查找到我們需要的文件時,可以使用find,但是find是在硬盤上遍歷查 找,因此非常消耗硬盤的資源,而且效率也非常低,因此建議大家優先使用whereis和locate。
locate 是在數據庫里查找,數據庫大至每天更新一次。whereis 可以找到可執行命令和man pagefind 就是根據條件查找文件。which 可以找到可執行文件和別名(alias)。


免責聲明!

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



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