1.命令格式:
findpathname-options[-print-exec-ok...]
2.命令功能:
用于在文件樹種查找文件,并作出相應(yīng)的處理
3.命令參數(shù):
pathname:find命令所查找的目錄路徑。例如用.來(lái)表示當(dāng)前目錄,用/來(lái)表示系統(tǒng)根目錄。
-print:find命令將匹配的文件輸出到標(biāo)準(zhǔn)輸出。
參數(shù)詳解
find一些常用參數(shù)的一些常用實(shí)例和一些具體用法和注意事項(xiàng)。
1.使用name選項(xiàng):
文件名選項(xiàng)是find命令最常用的選項(xiàng),要么單獨(dú)使用該選項(xiàng),要么和其他選項(xiàng)一起使用?梢允褂媚撤N文件名模式來(lái)匹配文件,記住要用引號(hào)將文件名模式引起來(lái)。不管當(dāng)前路徑是什么,如果想要在自己的根目錄$HOME中查找文件名符合*.log的文件,使用~作為'pathname'參數(shù),波浪號(hào)~代表了你的$HOME目錄。
find~-name"*.log"-print
想要在當(dāng)前目錄及子目錄中查找所有的‘*.log‘文件,可以用:
find.-name"*.log"-print
想要的當(dāng)前目錄及子目錄中查找文件名以一個(gè)大寫字母開頭的文件,可以用:
find.-name"[A-Z]*"-print
想要在/etc目錄中查找文件名以host開頭的文件,可以用:
find/etc-name"host*"-print
想要查找$HOME目錄中的文件,可以用:
find~-name"*"-print或find.-print
要想讓系統(tǒng)高負(fù)荷運(yùn)行,就從根目錄開始查找所有的文件。
find/-name"*"-print
如果想在當(dāng)前目錄查找文件名以一個(gè)個(gè)小寫字母開頭,最后是4到9加上.log結(jié)束的文件:
命令:
find.-name"[a-z]*[4-9].log"-print
輸出:
[root@localhosttest]#ll
總計(jì)316
-rw-r--r--1rootroot30210811-1306:03log2012.log
-rw-r--r--1rootroot6111-1306:03log2013.log
-rw-r--r--1rootroot011-1306:03log2014.log
-rw-r--r--1rootroot011-1306:06log2015.log
drwxr-xr-x6rootroot409610-2701:58scf
drwxrwxr-x2rootroot409611-1306:08test3
drwxrwxr-x2rootroot409611-1305:50test4
[root@localhosttest]#find.-name"[a-z]*[4-9].log"-print
./log2014.log
./log2015.log
./test4/log2014.log
[root@localhosttest]#
2.用perm選項(xiàng):
按照文件權(quán)限模式用-perm選項(xiàng),按文件權(quán)限模式來(lái)查找文件的話。最好使用八進(jìn)制的權(quán)限表示法。
如在當(dāng)前目錄下查找文件權(quán)限位為755的文件,即文件屬主可以讀、寫、執(zhí)行,其他用戶可以讀、執(zhí)行的文件,可以用:
[root@localhosttest]#find.-perm755-print
.
./scf
./scf/lib
./scf/service
./scf/service/deploy
./scf/service/deploy/product
./scf/service/deploy/info
./scf/doc
./scf/bin
[root@localhosttest]#
還有一種表達(dá)方法:在八進(jìn)制數(shù)字前面要加一個(gè)橫杠-,表示都匹配,如-007就相當(dāng)于777,-005相當(dāng)于555,