首頁  >  文章  >  運維  >  Linux下find和grep區別和常用指令介紹

Linux下find和grep區別和常用指令介紹

零下一度
零下一度原創
2017-07-16 11:45:541647瀏覽

find

功能:在目錄結構中搜尋文件,並執行指定的操作。此命令提供了相當多的查找條件,功能很強大。 
語法: find 尋找位置 符合檔案名稱 
說明:find指令從指定的起始目錄開始,遞歸地搜尋其各個子目錄,尋找符合尋找條件的檔案並採取相關的動作。

grep

grep全名為Global Regular Expression Print。 
一種強大的文本搜尋工具,它能使用正規表示式搜尋文本,並列印配對的行。 
語法:grep 符合字串 檔案名稱

在使用linux時,經常需要進行檔案尋找。其中查找的指令主要有find和grep。兩個指令是有差別的。

  區別:

            (1)find指令是根據檔案的屬性

#也都很好名,檔案大小,擁有者,所屬群組,是否為空,存取時間,修改時間等。

               (2)grep是依照檔案的內容尋找,並為檔案的每一行依照給定的模式(patter)進行配對查找。

  一.find指令

    基本格式:find  path expression    

1.

##    (1)find / -name httpd.conf  #在根目錄下尋找檔案httpd.conf,表示在整個硬碟中尋找

##    (2)find/etc -name httpd. conf  #在/etc目錄下檔案httpd.conf

    (3)find /etc -name '*srm*'  #使用萬用字元*(0或任意多個)。表示在/etc目錄下尋找檔案名稱中含有

字串

'srm'的檔案

    (4)find . -name 'srm*'   #表示目前目錄下尋找檔案名稱開頭是字串'srm'的文件

    

2.按照文件特徵查找

    (1)find / -amin -10   # 查找在系統中最後10分鐘訪問的檔案(access time)

    (2)find / -atime -2   # 尋找在系統中最後48小時存取的檔案

    (3)find 尋找 -empty  #    為空的檔案或資料夾    (4)find / -group cat   # 找出在系統中屬於group為cat的檔案     (5)find / -mmin -5 ##    (5)find / -mmin -5#系統中最後5分鐘修改過的檔案(modify time)

    (6)find / -mtime -1   #找出在系統中最後24小時裡修改過的檔案

  #     )find / -user fred   #找出在系統中屬於fred這個使用者的檔案

    (8)find / -size +10000c  #出大於100000000字,k:KB,M:MB,G:GB)

    (9)find / -size -1000k   #找出小於1000KB的檔案

   #找出小於                  使用混合查找方式尋找檔案

    參數有:! ,-and(-a),-or(-o)。

    (1)find /tmp -size +10000c -and -mtime +2   #在/tmp目錄下找出大於10000位元組並在最後2分鐘內修改的檔案

## )find / -user fred -or -user george   #在/目錄下尋找使用者是fred或george的檔案檔案

         (3)find /tmp ! -user panda     (3)find /tmp ! -user panda  #在所有不/tmp目錄中找到不/tmp目錄目錄中。屬於panda使用者的文件       

  

二、grep指令############     基本格式:find# #######   1.主要參數#########    [options]主要參數:###

    -c:只輸出匹配行的計數。
    -i:不區分大小寫
    -h:查詢多檔案時不顯示檔案名稱。
    -l:查詢多檔案時只會輸出包含符合字元的檔案名稱。
    -n:顯示符合行及行號。
    -s:不顯示不存在或無符合文字的錯誤訊息
    -v:顯示所有不包含符合文字的行。

    pattern正規表示式主要參數:

    \: 忽略正規表示式中特殊字元的原有意義。
    ^:符合正規表示式的開始行。
    $: 符合正規表示式的結束行。
    \<:從符合正規表示 式的行開始。
    \>:到符合正規表示式的行結束。
    [ ]:單一字符,如[A]即A符合要求 。
    [ - ]:範圍,如[A-Z],即A、B、C一直到Z都符合要求 。
    .:所有的單一字元。
    * :有字符,長度可以為0。

    2.實例

#  (1)grep 'test' d*  #顯示所有以d開頭的檔案中包含test的行

 ( 2)grep 'test' aa bb cc    #顯示在aa,bb,cc檔案中包含test的行

  (3)grep '[a-z]\{5\}' aa   #顯示所有包含每行字串至少有5個連續小寫字元的字串的行

  (4)grep magic /usr/src  #顯示/usr/src目錄下的檔案(不含子目錄)包含magic的行

  (5)grep -r magic /usr/src  #顯示/usr/src目錄下的檔案(包含子目錄)包含magic的行

  (6)grep -w pattern files :

###  (6)grep -w pattern files :######  (6)grep -w pattern files :######  (6)grep -w pattern files :######  (6)grep -w pattern files : ######  (6)grep -w pattern files :只匹配整個單詞,而不是字符串的一部分(如匹配'magic',而不是'magical'),###

以上是Linux下find和grep區別和常用指令介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn