正則表達(dá)式后面的全局標(biāo)記 g 指定將該表達(dá)式應(yīng)用到輸入字符串中能夠查找到的盡可能多的匹配。一個通用表達(dá)式是由一些元素組成的.這些元素是通用表達(dá)式中最小的匹配單位.一個元素可以是一個字符,例如a,與字符a相匹配,或者是一個特殊字符,例如$,匹配一行的結(jié)束.還可以是其他的字符,例如\來匹配一個單詞的結(jié)束.也就是說要將我們想要查找的字符串放在這兩個中間.這樣我們就可以精確的來查找我們想要查找的字符串,而不會有其他的一些匹配情況.而如果我們用簡單字符串形式來查找,我們就會得到許多的匹配情況,甚至在一個單詞中的組成部分也可以成為匹配情況.例如在文件中有californian,unfortunately.如果用命令/for來查找,那么就會找到這兩個單詞.而如果我們用通用表達(dá)式\來進(jìn)行查找,則只會精確的查找到for,而不會用其他的匹配情況.這時的命令形式如下:。 而locate命令就是查詢linux中的類似的數(shù)據(jù)庫(linux會自動創(chuàng)建并且每天更新它),它會很快地找到文件,然后通過 | (管道,它會把數(shù)據(jù)從這邊送到那邊), 交付給 grep 命令,這是一個過濾器,后面跟著一個正則表達(dá)式。
一、find 命令格式說明
path find命令查找的目錄路徑。
-print find命令將匹配到的文件輸出到標(biāo)準(zhǔn)輸出。
-exec find 命令對匹配的文件執(zhí)行該參數(shù)所給出的Shell命令。
-ok 和 -exec的作用相同,只是更安全,在執(zhí)行每個命令之前l(fā)inux命令,都會給出提示,讓用戶來確定是否執(zhí)行。
二、find命令常用參數(shù)說明
-name 按照文件名查找文件
-cpio: 對匹配的文件使用 cpio 命令,將這些文件備份到磁帶設(shè)備中
-prune 按照文件權(quán)限進(jìn)行查找文件
-size n 查找文件長度為 n 塊的文件,帶有 c 時表示文件長度以字節(jié)計(jì)
-type 查找某一類型的文件
-amin n 查找系統(tǒng)中最后 n 分鐘訪問的文件
-atime n 查找系統(tǒng)中最后 n*24 小時訪問的文件
-cmin n 查找系統(tǒng)中最后 n 分鐘被改變文件狀態(tài)的文件
-ctime n 查找系統(tǒng)中最后 n*24 小時被改變文件狀態(tài)的文件
-mmin n 查找系統(tǒng)中最后 n 分鐘被改變文件數(shù)據(jù)的文件
-mtime n 查找系統(tǒng)中最后 n*24 小時被改變文件數(shù)據(jù)的文件
-empty 查找系統(tǒng)中空白的文件或目錄,或目錄中沒有子目錄的文件夾
-false 查找系統(tǒng)中總是錯誤的文件
find /data/logs -mame "*.log" -type f -printf 查找符合指定字符串的文件
find . -name "[0-9]" -type f 查找以數(shù)字開頭的文件
find / -mtime -1 |head 查找系統(tǒng)內(nèi)最近24小時修改過的文件
find / -mmin -15|head 查找系統(tǒng)內(nèi)最近15 分鐘修改過的文件
find 使用 type 選項(xiàng)可以查找特定的文件類型,常見類型如下
b 塊設(shè)備文件
d 目錄
c 字符設(shè)備文件
p 管道文件
l 符號鏈接文件
f 普通文件
find . -type d 查找當(dāng)前路徑中的所有目錄
find . -type f 查找當(dāng)前路徑中的所有文件
find . -type l 查找當(dāng)前路徑中的所有符號鏈接文件