linux文件搜索命令


一.locate(搜索文件)

1.命令格式

   locate 文件名     

   說明:locate命令不在系統中搜索文件(即不遍歷整個系統),而是在/var/lib/mlocate(centos7中為此目錄,可使用locate locate命令查看此目錄路徑)數據庫中搜索,/var/lib/mlocate數據庫默認每天更新一次,要查找新創建的文件就要去更新(通過updatedb命令)此數據庫后再進行搜索

2.優點

    在后台數據庫中按文件名進行搜索,所以搜索速度快

3.缺點

    只能按文件名搜索

4.注意

    locate按照配置文件/etc/updatedb.conf進行搜索,配置文件的內容如下圖

   

    PRUNE_BIND_MOUNTS = "yes"   表示開啟搜索限制

    PRUNE_BIND_MOUNTS = "no"     表示關閉搜索限制

    PRUNEFS                                     表示搜索時不搜索的文件系統

    PRUNENAMES                              表示搜索時不搜索的文件類型

    PRUNEPATHS                               表示搜索時不搜索的路徑

   

二.whereis(搜索命令)

1.命令格式

   whereis 命令名

   說明:搜索外部命令所在路徑及幫助文檔所在位置(Linux的shell內置命令不能通過whereis找到命令路徑,只能看到幫助文檔的路徑,如pwd、cd)

   -b  只查看命令所在位置(即命令的可執行文件)

   -m    只查找幫助文檔所在位置

  

  

三.which(搜索命令)

1.命令格式

   which 命令名

   說明:搜索外部命令所在路徑及別名(不是所有命令都有別名,Linux的shell內置命令無法用此命令)

  

注意:

   在Linux中要想執行一個命令需要用絕對路徑,由於系統定義了環境變量PATH(即系統搜索命令的路徑),當執行一個命令時,會在PATH指定的路徑中搜索是否有這樣一個執行文件或者腳本存在(因為環境變量的存在,所以系統命令可以不打絕對路徑),若自己定義了一個執行文件需要執行時就要打上絕對路徑,或者把執行文件的路徑放在PATH環境變量下。linux下查看環境變量:

  

 

四.find(搜索文件

1.命令格式

   find [搜索范圍] [搜索條件]

   說明:find命令對文件進行搜索的時候完全匹配文件名,若想進行模糊搜索則使用通配符匹配

              Linux中通配符有 :*   匹配任意內容

                                             ?  匹配一個任意字符

                                             []    匹配中括號內任一字符

2.示例

   在根目錄下搜索名為initial-setup-ks.cfg的文件,注根目錄下搜索相當於遍歷根目錄,會耗費資源

   

   在/root目錄下利用通配符分別搜索文件名為以a、b開頭以任意字符結尾的文件

   

   -name     按照文件名完全匹配搜索

   -iname    按照文件名不區分大小寫搜索

   -user       按照所有者進行搜索,后面為Linux的登錄賬戶名

   -nouser   查找沒有所有者的文件(不是所有的沒有所有者的文件都是垃圾文件,內核產生的根目錄proc、sys路徑下的,或者外來文件即外接盤內的文件會沒有所有者,但不是垃圾文件)

   -mtime    按照修改的時間范圍搜索文件

   

  

   

   -atime     根據文件的訪問時間搜索

   -ctime     根據文件屬性改變的時間搜索

   -size       根據文件大小搜索

   -inum     根據文件的i節點搜索

   

   查找root目錄下大於10k小於30k的文件(-a 表示與and,-o表示或or)

   

   查找root目錄下大於10k小於30k的文件並顯示文件詳細信息(-exec 命令 {} \;  對搜索結果進行操作)

   

 

五.grep(搜索字符串)

1.命令格式

   grep [選項] 字符串 文件名

   說明:grep命令是在文件中搜索符合條件的字符串,如需匹配使用正則表達式進行包含匹配

2.選項

   -i     忽略大小寫

   -v    排除指定的字符串

 


免責聲明!

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



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