Linux學習日誌--檔案搜尋命令

來源:互聯網
上載者:User

標籤:linux

開頭總結:             學習了Linux中的檔案搜尋命令find和locate,系統搜尋命令whereis 和which ,字串搜尋命令grep,find和locate的區別和用法格式,什麼是path環境變數以及其好處,whereis和which的用法,區別在於查詢系統命令內容的不同,grep和find的區別,為什麼要引入萬用字元? 什麼情況下用萬用字元還是Regex?Locate檔案搜尋命令:

1)格式:

   Locate [檔案名稱]

2)更新資料庫

        updatedb

 

 

 

好處:

相對於find命令來說,Locate耗費資源比較少,搜尋速度快。

 

原理:

locate搜尋檔案名稱是在指定的後台資料庫下搜尋,一般是/var/lib/mlocate目錄下,但是資料庫是一天一次更新,所以你今天建立的檔案,用locate找不到,但是可以updatedb命令強制更新,就可以找到了。

    而find命令是在檔案系統上整體遍曆。所以速度比較慢,耗費資源大。

 

 

命令搜尋命令 whereis 和which(兩者很像)

         :只能搜尋系統命令

1)

例如:whereis ls 

 顯示的是ls的位置和ls的協助文檔的位置。

2)

加了-b以後 就是只看ls的位置 不看協助文檔的位置

   Whereis -b ls

 

3)

加了-m以後 只看協助文檔的位置 不看Ls的位置

Where -m ls

 


 

 

Which 看到命令的位置和別名(也有例外)  看不到命令的協助文檔。

4)什麼是path環境變數?

  就是定義的系統命令搜尋的路徑。 

  這樣的好處?

 輸入命令,就不用在指定其所在的絕對路徑。以後寫好的指令碼命令,就可以放在path中,直接用。

Path中定義了路徑,(手工就不用在輸入據對路徑了,因為在path中配置了)在打ls時 會在這些路徑中找,找到了會執行其命令的功能,找不到會顯示找不到的資訊,Command not found。

 

 

 

Find命令(非常強大的命令):

1)格式

find [搜尋範圍][搜尋條件]



 

在根目錄下 搜尋名字為install.log的檔案。(耗費資源比較大 因為在個目錄下搜尋)

 

2)萬用字元     什麼是萬用字元?

                 為了進行模糊查詢而誕生的符號

 

*   匹配任意內容

?   匹配任意一個字元

[]   匹配任意一個中括弧內的字元

 

 

匹配install.log後面任一字元的檔案和匹配所有檔案



 

         

  

  匹配 所有前面任意以g結尾的檔案

   

 




 

3)不區分大小寫進行匹配

 

 Find  /root -iname install.log

 

注意一點: find是進行的完全符合 就是尋找的和原檔案必須是一個名字,如果要進行模糊查詢,那麼就要用到萬用字元。

 

 

4)所有者檔案和垃圾檔案

一般的,我們把沒有所有者的檔案成為垃圾檔案。需要手工清除。用到命令:

Find /root -nouser(常用)

但是核心產生和外來的(u盤)檔案除外。

 

 

5)按檔案大小進行尋找
find  /root  -size 25k

找等於25k的檔案

 Find /root  -size +25k

找大於25K的檔案

Find /root  -size -25k

找小於25k的檔案

 

6)按檔案的節點序號查詢

 Find -inode 26543

尋找節點為26543的檔案。

 

7)擴充

 Find /root -size +20k -a -size --50k

-a是邏輯與  找大於20k並且小於50k檔案。

 

Find /root -size +20k -a -size -50k -exec ls lh {}\;

 

將找到的檔案的詳細結果顯現出來 

標準格式:
-exec  [命令]  {}\;

 

 

 

Grep字串搜尋命令:(包含匹配)

 

 1)  grep [選項] 字串  要尋找檔案

 

 2)  加-v 是尋找不包含字串的檔案的內容   

 

 3)  加-i  是不區分大小寫

 

 

Grep和find的區別:

 

1)Find命令在系統當中搜尋合格檔案,而grep命令在檔案中搜尋與字串符合的內容;

2)find命令要想匹配,需要用萬用字元,萬用字元是完全符合。Grep使用Regex進行匹配,是包含匹配。      

 

3)什麼時候用萬用字元還是Regex?

 

如果匹配是檔案的名稱,那麼就用萬用字元,如果搜尋的是檔案的內容,那麼就應該用Regex。





Linux學習日誌--檔案搜尋命令

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.