find顧名思義就是查找,Linux下find命令提供相當(dāng)多的查找條件,因此功能比較強(qiáng)大,可以在眾多文件或目錄下查找你想要的任何文件或目錄。
--------------------------------------- find pathname-options [-print -exec -ok]。find path -option [ -print ] [ -exec -ok command ] {} \。# find是linux shell中的一個查找命令,其語法是:find path option [-print -exec -ok]。
在/home鍵入pap命令,系統(tǒng)首先在/home目錄下(即當(dāng)前路徑)查找關(guān)于 b 的內(nèi)容,如果沒有在/liheng/wang目錄下查找關(guān)于b的內(nèi)容。不管當(dāng)前路徑是什么,如果想要在自己的根目錄$home中查找文件名符合*.txt的文件,使用~作為 'pathname'參數(shù),波浪號~代表了你的$home目錄。 不管當(dāng)前路徑是什么,如果想要在自己的根目錄$home中查找文件名符合*.log的文件,使用~作為 'pathname'參數(shù),波浪號~代表了你的$home目錄。
-print: find命令將匹配的文件輸出到標(biāo)準(zhǔn)輸出。
這里需要注意一個叫“run-parts”的參數(shù),如果加上這個參數(shù),代表執(zhí)行文件夾中的命令,而不是執(zhí)行腳本或者命令,如果不加則代表執(zhí)行命令或者腳本。在有些系統(tǒng)中,使用-exec選項(xiàng)會為處理每一個匹配到的文件而發(fā)起一個相應(yīng)的進(jìn)程,并非將匹配到的文件全部作為參數(shù)一次執(zhí)行。在使用find命令的-exec選項(xiàng)處理匹配到的文件時, find命令將所有匹配到的文件一起傳遞給exec執(zhí)行。
-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執(zhí)行該參數(shù)所給出的shell命令,在執(zhí)行每一個命令之前,都會給出提示,讓用戶來確定是否執(zhí)行。-ok和-exec的作用相同,只不過以一種更為安全的模式來執(zhí)行該參數(shù)所給出的shell命令,在執(zhí)行每一個命令之前,都會給出提示,讓用戶來確定是否執(zhí)行。雖然程序提示執(zhí)行成功,但是執(zhí)行l(wèi)s -lia命令發(fā)現(xiàn)這兩個命令根本沒起作用。
find常用命令格式:
-name filename #查找名為filename的文件
-perm #按執(zhí)行權(quán)限來查找
-user username#按文件屬主來查找
-group groupname#按組來查找
-mtime -n +n #按文件更改時間來查找文件,-n指n天以內(nèi),+n指n天以前
-atime -n +n #按文件訪問時間來查GIN: 0px">
-ctime -n +n #按文件創(chuàng)建時間來查找文件,-n指n天以內(nèi),+n指n天以前
-nogroup #查無有效屬組的文件,即文件的屬組在/etc/groups中不存在
-nouser #查無有效屬主的文件,即文件的屬主在/etc/passwd中不存
-newer f1 !f2#找文件,-n指n天以內(nèi),+n指n天以前
-ctime -n +n #按文件創(chuàng)建時間來查找文件,-n指n天以內(nèi),+n指n天以前
-nogroup #查無有效屬組的文件,即文件的屬組在/etc/groups中不存在
-nouser #查無有效屬主的文件,即文件的屬主在/etc/passwd中不存
-newer f1 !f2 #查更改時間比f1新但比f2舊的文件
-type b/d/c/p/l/f #查是塊設(shè)備、目錄、字符設(shè)備、管道、符號鏈接、普通文件
-size n[c] #查長度為n塊[或n字節(jié)]的文件