Linux下的查詢( grep & find )
grep用法:
- grep 遞迴搜尋檔案
語法:grep -r -n “XXXX” ./
說明:-r 表示遞迴,-n 表示標出要搜尋的內容所在的行數,“XXXX” 表示當前要搜尋的內容,./ 表示在當前檔案下
- grep排除搜尋目錄
使用 grep時,經常會遇到這樣一個問題,要查詢的內容(變數命名等)在一個或者多個檔案(目錄)中有,但是,我們又不想搜尋它們,因此就可以使用 –exclude-dir 選項。
用法
- 1、 單個目錄示例:
grep -r -n “XXXX” ./ –exclude-dir=framework
不搜尋framework目錄下的檔案
- 2、多個目錄示例:
grep -r -n “XXXX” ./ –exclude-dir={framework,device,kernel-3.10}
不搜尋framework,device,kernel-3.10 三個目錄下的檔案
- 3、多個檔案示例:
grep -r -n “XXXX” ./framework –exclude=*.{hello,raindi}
在framework目錄下排除搜尋副檔名為hello和raindi的檔案
find用法:
- 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分鐘裡修改過的檔案(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的檔案
- 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使用者的檔案