1. 程式人生 > >centos使用find和grep命令

centos使用find和grep命令

find grep

作為一個ITer需要竟要使用到命令行,find和grep命令了解非常必要,下面說些常用方法


find

查找文件

find ./ -name 192.168.1.166_server_log #根據文件名查找

find . -type f -name "*.phtml" #根據文件後綴查找


查找目錄

find / -type d -name games


根據文件權限查找

find . -type f -perm 0777 -print #輸出權限是777的文件

find / -type f ! -perm 777 #找出所有權限不是777的文件

find / -type f -perm 0777 -print -exec chmod 644 {} \; #把所有777權限文件改為644權限

-perm -2 如果xxx全面是“-”表示other必須包含寫權限,“+”表示其中u,g,o任何地方包含即可

find / -type f -perm -2 -o -perm -20 | xargs ls -al 查看所有other權限包含2或者group包含2權限的文件


根據文件的創建和修改時間

mtime 修改時間

ctime 創建時間

atime 訪問時間

find / -mtime 50 #查找修改文件日期為50天的文件

find / -mtime +50 –mtime -100 #查找文件修改時間大於50天小於100天的文件


根據文件大小查找

find / -size +50M -size -100M #查找文件大於50M小於100M的文件

find ./ -mmin -60 #60分鐘內的

find /home -name tmp.txt -maxdepth 4 #列出/home內的tmp.txt 查時深度最多為3層

find -empty


查找條件邏輯關系(and|or)

-a 表示條件間的並關系

-o表示條件的或關系




find /var/www/html/ -type f -print|xargs grep -l zabbix_logo 查找指定目錄含有zabbix_logo字段的文件



grep

grep -n ‘word‘ aaa.txt #顯示匹配到關鍵字內容行號
grep -w "word" xxxx.txt   #-w指定的字符的完整單詞
grep  -e aaa -e  bbbb a.txt    #過濾“txt”裏面帶有aaa和bbb的行


grep過濾後顯示正則匹配到部分

過濾出“IP:port”這樣的字符串
grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}\:[0-9]{1,4}"    /tmp/ip.data >/tmp/proxy.txt

裏面正則是這樣寫的

(匹配0-9的數字1~3次後面是“.)前面這段重復3次,後面繼續是(匹配0-9的數字1~3次)

後面加“:”,(匹配0-9的數字1~4次)


grep過濾關鍵字的上下一定範圍

grep -C 5 ‘myword‘ pdo.php   查找包含myword及其上下5行內容
grep -A 5 ‘myword‘ pdo.php   包含myword的行和它下面的5行
grep -B 5 ‘myword‘ pdo.php   包含myword的行和它上面的5行



本文出自 “運維之我的歷程” 博客,請務必保留此出處http://nginxs.blog.51cto.com/4676810/1922752

centos使用find和grep命令