強(qiáng)大的find命令在linux中是用來在指定目錄下查找文件的,對(duì)于find命令來說任何位于參數(shù)之前的字符串都將被視為將要被查找的目錄名,而如果使用該命令時(shí),不設(shè)置任何參數(shù),則find命令將默認(rèn)在當(dāng)前目錄下查找子目錄與文件,并且將查找到的子目錄和文件全部進(jìn)行顯示。
一、find 命令格式 (即語法)
1、find命令的一般形式為:
# find 查找路徑名 -options [-print -exec -ok ...]
*查找路徑名:指定具體的目標(biāo)路徑,不指定默認(rèn)為當(dāng)前目錄。
*options(查找條件):指定的查找標(biāo)準(zhǔn),可以為文件名、大小、類型、權(quán)限等標(biāo)準(zhǔn),默認(rèn)為找出指定路徑下的文件
*處理動(dòng)作:對(duì)符合的文件做操作,默認(rèn)打印輸出至屏幕。
例如:請(qǐng)?jiān)诋?dāng)前目錄下查找以“.txt”結(jié)尾的文件,操作如下:
在指定了路徑"/app"的情況下,find命令就可以把查詢到的結(jié)果“help.txt”打印到屏幕。
2、find命令的參數(shù):
# pathname: 在find命令所查找的目錄路徑中,可以用.來表示當(dāng)前目錄,用/來表示系統(tǒng)根目錄。
find命令不僅可以用絕對(duì)路徑進(jìn)行查找,同時(shí)也可以用相對(duì)路徑進(jìn)行查找,那么在“/app”下查找以“.txt”結(jié)尾的文件,我們也可以用相對(duì)路徑來做,操作如下:
注意:其中“.”代表當(dāng)前,而不輸入路徑則默認(rèn)為當(dāng)前。
# -exec: find命令對(duì)匹配的文件執(zhí)行該參數(shù)所給出的shell命令時(shí),相應(yīng)命令的形式為"command { } \; ",這里要注意"{ }"和“\;”之間的空格。
# -ok: 和-exec的作用相同,只不過以一種更為安全的模式來執(zhí)行該參數(shù)所給出的shell命令,在執(zhí)行每一個(gè)命令之前,都會(huì)給出提示,讓用戶來確定是否執(zhí)行。
二、find命令工作特點(diǎn)
1、 優(yōu)點(diǎn):
#實(shí)時(shí)查找
#精確查找,搜索整個(gè)目錄下所有文件
#可以對(duì)查詢到的文件驚喜指定動(dòng)作,即查看、刪除、移動(dòng)等等。
2、缺點(diǎn):
#查找速度太慢
三、find命令的使用
我們可以把查詢條件想象的分為兩類,即選項(xiàng)和測(cè)試條件
1、find命令選項(xiàng)
#指定目錄的查找范圍
* -mindepth N 最小搜索深度
*-maxdepth N 最大搜索深
*-mindepth N -maxdepth N 只搜索指定深度
舉例說明一下,我們都知道find命令是默認(rèn)遞歸,如果我們不指定深度的話,它會(huì)默認(rèn)把包含查找條件的所有子文件中也列出,比如:
用戶也可以指定多個(gè)文件和目錄作為參數(shù),ls則會(huì)列出所有指定的文件和目錄中的文件名。第一種,是第一個(gè)參數(shù)指定原始文件,第二個(gè)參數(shù)指定鏈接文件;第二種,指定多于兩個(gè)選項(xiàng),應(yīng)該先是多個(gè)原始文件(或目錄),最后指定一個(gè)目錄linux命令,所有原始文件(或目錄)的鏈接將會(huì)被創(chuàng)建于最后指定的目錄里。在Windows 9x操作系統(tǒng)的電腦中可以找到.sys 文件,這些文件一般放在C:\Windows目錄中。
年平均氣溫7.0°C(44.6°F),1月最低,平均溫度為-5.6°C(21.9°F),7月最高,平均溫度為19.5°C(67.1°F)。風(fēng)速:
第1組:+0.1 m/s、第2組:-0.4 m/s、第3組:+0.3 m/s、第4組:-1.3 m/s、第5組:-0.1 m/s、
第6組:-0.1 m/s、第7組:-0.7 m/s、第8組:+1.1 m/s、第9組:+1.4 m/s、第10組:-0.9 m/s。在二十進(jìn)制中,使用20個(gè)數(shù)碼;大于9小于19的數(shù)碼,一般借鑒計(jì)算機(jī)中十六進(jìn)制的表示法,使用字母“A-J”;即為「0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F、G、H、I、J」。