linux下的find文件查找命令與grep文件內容查找命令

一.find命令php

    基本格式:find  path expressionlinux

    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’的文件express

    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分鐘裏修改過的文件(modify time)
    (6)find / -mtime -1   #查找在系統中最後24小時裏修改過的文件
    (7)find / -user fred   #查找在系統中屬於fred這個用戶的文件
    (8)find / -size +10000c  #查找出大於10000000字節的文件(c:字節,w:雙字,k:KB,M:MB,G:GB)
    (9)find / -size -1000k   #查找出小於1000KB的文件spa

    3.使用混合查找方式查找文件命令行

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

    (1)find /tmp -size +10000c -and -mtime +2   #在/tmp目錄下查找大於10000字節並在最後2分鐘內修改的文件
         (2)find / -user fred -or -user george   #在/目錄下查找用戶是fred或者george的文件文件
         (3)find /tmp ! -user panda  #在/tmp目錄中查找全部不屬於panda用戶的文件io

 2、grep命令test

若是要搜索整個linux系統裏,那個文本里寫了 jdk1.4.0

則以root登陸,而後 執行 grep   jdk1.4.0   /   -r

     基本格式:find  expression

     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 :只匹配整個單詞,而不是字符串的一部分(如匹配’magic’,而不是’magical’),

 

2,xargs配合grep查找

find -type f -name '*.php'|xargs grep 'GroupRecord'

 

xargs命令是給其餘命令傳遞參數的一個過濾器,也是組合多個命令的一個工具。它擅長將標準輸入數據轉換成命令行參數,xargs可以處理管道或者stdin並將其轉換成特定命令的命令參數。xargs也能夠將單行或多行文本輸入轉換爲其餘格式,例如多行變單行,單行變多行。xargs的默認命令是echo,空格是默認定界符。這意味着經過管道傳遞給xargs的輸入將會包含換行和空白,不過經過xargs的處理,換行和空白將被空格取代。xargs是構建單行命令的重要組件之一。

相關文章
相關標籤/搜索