在linux下面工作,有些命令能夠大大提高效率。本文就向大家介紹find、grep命令,他哥倆可以算是必會(huì)的linux命令,我?guī)缀趺刻於家玫剿麄。本文結(jié)構(gòu)如下:
find命令
find命令的一般形式
find命令的常用選項(xiàng)及實(shí)例
find與xargs
grep命令
grep命令的一般形式
grep正則表達(dá)式元字符集(基本集)
grep命令的常用選項(xiàng)及實(shí)例
1、find命令
的例子中,我告訴f i n d命令首先進(jìn)入/ e t c目錄,然后是/ h o m e和/ a p p s目錄,先匹配這些目錄下的文件,然后再匹配其子目錄中的文件,所有這些結(jié)果將通過管道傳遞給c p i o命令進(jìn)行備份。利用chkdsk與find命令結(jié)合管道功能實(shí)現(xiàn)在全盤的文件查找,這一命令格式不僅可以列出所查找文件的所在目錄,而且還可以列出各目錄中的同名文件,連隱含文件也不例外。如何用一條命令查找/下所有文件及目錄,但是除過某一目錄。
1.1、find命令的一般形式
man文檔中給出的find命令的一般形式為:
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path…] [expression]
其實(shí)[-H] [-L] [-P] [-D debugopts] [-Olevel]這幾個(gè)選項(xiàng)并不常用(至少在我的日常工作中,沒有用到過),上面的find命令的常用形式可以簡(jiǎn)化為:
find [path…] [expression]
path:find命令所查找的目錄路徑。例如用.來表示當(dāng)前目錄,用/來表示系統(tǒng)根目錄
--------------------------------------- find pathname-options [-print -exec -ok]。find path -option [ -print ] [ -exec -ok command ] {} \。bandsdialog.label1 當(dāng)表達(dá)式為真時(shí)輸出 print when expression。
-options,指定find命令的常用選項(xiàng),下節(jié)詳細(xì)介紹
-print,find命令將匹配的文件輸出到標(biāo)準(zhǔn)輸出
-exec,find命令對(duì)匹配的文件執(zhí)行該參數(shù)所給出的shell命令。相應(yīng)命令的形式為’command’ { } ;,注意{ }和\;之間的空格
find ./ -size 0 -exec rm {} ; 刪除文件大小為零的文件 (還可以以這樣做:rm -i find ./ -size 0 或 find ./ -size 0 | xargs rm -f &)
為了用ls -l命令列出所匹配到的文件,可以把ls -l命令放在find命令的-exec選項(xiàng)中:find . -type f -exec ls -l { } ;
在/logs目錄中查找更改時(shí)間在5日以前的文件并刪除它們:find /logs -type f -mtime +5 -exec rm { } ;
-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執(zhí)行該參數(shù)所給出的shell命令,在執(zhí)行每一個(gè)命令之前,都會(huì)給出提示,讓用戶來確定是否執(zhí)行。-ok和-exec的作用相同,只不過以一種更為安全的模式來執(zhí)行該參數(shù)所給出的shell命令,在執(zhí)行每一個(gè)命令之前,都會(huì)給出提示,讓用戶來確定是否執(zhí)行。雖然程序提示執(zhí)行成功,但是執(zhí)行l(wèi)s -lia命令發(fā)現(xiàn)這兩個(gè)命令根本沒起作用。
find . -name “*.conf” -mtime +5 -ok rm { } ; 在當(dāng)前目錄中查找所有文件名以.LOG結(jié)尾、更改時(shí)間在5日以上的文件,并刪除它們,只不過在刪除之前先給出提示