find命令

http://man.linuxde.net/find
find命令用來(lái)在指定目錄下查找文件剖淀。任何位于參數(shù)之前的字符串都將被視為欲查找的目錄名。如果使用該命令時(shí)介汹,不設(shè)置任何參數(shù)却嗡,則find命令將在當(dāng)前目錄下查找子目錄與文件。并且將查找到的子目錄和文件全部進(jìn)行顯示痴昧。
find(選項(xiàng))(參數(shù))

選項(xiàng)

-amin<分鐘>:查找在指定時(shí)間曾被存取過(guò)的文件或目錄稽穆,單位以分鐘計(jì)算; 
-anewer<參考文件或目錄>:查找其存取時(shí)間較指定文件或目錄的存取時(shí)間更接近現(xiàn)在的文件或目錄赶撰; 
-atime<24小時(shí)數(shù)>:查找在指定時(shí)間曾被存取過(guò)的文件或目錄舌镶,單位以24小時(shí)計(jì)算; 
-cmin<分鐘>:查找在指定時(shí)間之時(shí)被更改過(guò)的文件或目錄豪娜; 
-cnewer<參考文件或目錄>查找其更改時(shí)間較指定文件或目錄的更改時(shí)間更接近現(xiàn)在的文件或目錄餐胀; 
-ctime<24小時(shí)數(shù)>:查找在指定時(shí)間之時(shí)被更改的文件或目錄,單位以24小時(shí)計(jì)算瘤载; 
-daystart:從本日開(kāi)始計(jì)算時(shí)間否灾; 
-depth:從指定目錄下最深層的子目錄開(kāi)始查找; 
-expty:尋找文件大小為0 Byte的文件鸣奔,或目錄下沒(méi)有任何子目錄或文件的空目錄墨技; 
-exec<執(zhí)行指令>:假設(shè)find指令的回傳值為T(mén)rue,就執(zhí)行該指令挎狸; 
-false:將find指令的回傳值皆設(shè)為False扣汪; 
-fls<列表文件>:此參數(shù)的效果和指定“-ls”參數(shù)類(lèi)似,但會(huì)把結(jié)果保存為指定的列表文件锨匆; 
-follow:排除符號(hào)連接崭别; 
-fprint<列表文件>:此參數(shù)的效果和指定“-print”參數(shù)類(lèi)似,但會(huì)把結(jié)果保存成指定的列表文件恐锣; 
-fprint0<列表文件>:此參數(shù)的效果和指定“-print0”參數(shù)類(lèi)似茅主,但會(huì)把結(jié)果保存成指定的列表文件; 
-fprintf<列表文件><輸出格式>:此參數(shù)的效果和指定“-printf”參數(shù)類(lèi)似土榴,但會(huì)把結(jié)果保存成指定的列表文件诀姚; 
-fstype<文件系統(tǒng)類(lèi)型>:只尋找該文件系統(tǒng)類(lèi)型下的文件或目錄; 
-gid<群組識(shí)別碼>:查找符合指定之群組識(shí)別碼的文件或目錄玷禽; 
-group<群組名稱(chēng)>:查找符合指定之群組名稱(chēng)的文件或目錄学搜; 
-help或——help:在線幫助娃善; 
-ilname<范本樣式>:此參數(shù)的效果和指定“-lname”參數(shù)類(lèi)似,但忽略字符大小寫(xiě)的差別瑞佩; 
-iname<范本樣式>:此參數(shù)的效果和指定“-name”參數(shù)類(lèi)似聚磺,但忽略字符大小寫(xiě)的差別; 
-inum:查找符合指定的inode編號(hào)的文件或目錄炬丸; 
-ipath<范本樣式>:此參數(shù)的效果和指定“-path”參數(shù)類(lèi)似瘫寝,但忽略字符大小寫(xiě)的差別; 
-iregex<范本樣式>:此參數(shù)的效果和指定“-regexe”參數(shù)類(lèi)似稠炬,但忽略字符大小寫(xiě)的差別焕阿; 
-links<連接數(shù)目>:查找符合指定的硬連接數(shù)目的文件或目錄; 
-iname<范本樣式>:指定字符串作為尋找符號(hào)連接的范本樣式首启; 
-ls:假設(shè)find指令的回傳值為T(mén)ure暮屡,就將文件或目錄名稱(chēng)列出到標(biāo)準(zhǔn)輸出; 
-maxdepth<目錄層級(jí)>:設(shè)置最大目錄層級(jí)毅桃; 
-mindepth<目錄層級(jí)>:設(shè)置最小目錄層級(jí)褒纲;
 -mmin<分鐘>:查找在指定時(shí)間曾被更改過(guò)的文件或目錄,單位以分鐘計(jì)算钥飞; 
 -mount:此參數(shù)的效果和指定“-xdev”相同莺掠; 
 -mtime<24小時(shí)數(shù)>:查找在指定時(shí)間曾被更改過(guò)的文件或目錄,單位以24小時(shí)計(jì)算读宙; 
 -name<范本樣式>:指定字符串作為尋找文件或目錄的范本樣式彻秆; 
 -newer<參考文件或目錄>:查找其更改時(shí)間較指定文件或目錄的更改時(shí)間更接近現(xiàn)在的文件或目錄; 
 -nogroup:找出不屬于本地主機(jī)群組識(shí)別碼的文件或目錄结闸; 
 -noleaf:不去考慮目錄至少需擁有兩個(gè)硬連接存在唇兑; 
 -nouser:找出不屬于本地主機(jī)用戶識(shí)別碼的文件或目錄; 
 -ok<執(zhí)行指令>:此參數(shù)的效果和指定“-exec”類(lèi)似桦锄,但在執(zhí)行指令之前會(huì)先詢(xún)問(wèn)用戶幔亥,若回答“y”或“Y”,則放棄執(zhí)行命令察纯; 
 -path<范本樣式>:指定字符串作為尋找目錄的范本樣式; 
 -perm<權(quán)限數(shù)值>:查找符合指定的權(quán)限數(shù)值的文件或目錄针肥; 
 -print:假設(shè)find指令的回傳值為T(mén)ure饼记,就將文件或目錄名稱(chēng)列出到標(biāo)準(zhǔn)輸出。格式為每列一個(gè)名稱(chēng)慰枕,每個(gè)名稱(chēng)前皆有“./”字符串具则; 
 -print0:假設(shè)find指令的回傳值為T(mén)ure,就將文件或目錄名稱(chēng)列出到標(biāo)準(zhǔn)輸出具帮。格式為全部的名稱(chēng)皆在同一行博肋; 
 -printf<輸出格式>:假設(shè)find指令的回傳值為T(mén)ure低斋,就將文件或目錄名稱(chēng)列出到標(biāo)準(zhǔn)輸出。格式可以自行指定匪凡; 
 -prune:不尋找字符串作為尋找文件或目錄的范本樣式; -regex<范本樣式>:指定字符串作為尋找文件或目錄的范本樣式膊畴; 
 -size<文件大小>:查找符合指定的文件大小的文件; 
 -true:將find指令的回傳值皆設(shè)為T(mén)rue病游; 
 -type<文件類(lèi)型>:只尋找符合指定的文件類(lèi)型的文件唇跨; 
 -uid<用戶識(shí)別碼>:查找符合指定的用戶識(shí)別碼的文件或目錄; 
 -used<日數(shù)>:查找文件或目錄被更改之后在指定時(shí)間曾被存取過(guò)的文件或目錄衬衬,單位以日計(jì)算买猖; 
 -user<擁有者名稱(chēng)>:查找符和指定的擁有者名稱(chēng)的文件或目錄; 
 -version或——version:顯示版本信息滋尉; 
 -xdev:將范圍局限在先行的文件系統(tǒng)中玉控; 
 -xtype<文件類(lèi)型>:此參數(shù)的效果和指定“-type”參數(shù)類(lèi)似,差別在于它針對(duì)符號(hào)連接檢查狮惜。
find .
#列出當(dāng)前目錄及子目錄下所有文件和文件夾
#在/home目錄下查找以.txt結(jié)尾的文件名來(lái)
find /home -name "*.txt"
#當(dāng)前目錄及子目錄下查找所有以.txt和.pdf結(jié)尾的文件 
find . \( -name "*.txt" -o -name "*.pdf" \) 
#或
find . -name "*.txt" -o -name "*.pdf" 
#匹配文件路徑或者文件
find /usr/ -path "*local*"
#基于正則表達(dá)式匹配文件路徑 
#注意需要括號(hào)
find . -regex ".*\(\.txt\|\.pdf\)$"
#忽略大小寫(xiě)
find . -iregex ".*\(\.txt\|\.pdf\)$"

否定參數(shù)

否定參數(shù) 找出/home下不是以.txt結(jié)尾的文件

find /home ! -name "*.txt"

根據(jù)文件類(lèi)型進(jìn)行搜索來(lái)自:

find . -type 類(lèi)型參數(shù) 
類(lèi)型參數(shù)列表:
f 普通文件 
l 符號(hào)連接 
d 目錄 
c 字符設(shè)備 
b 塊設(shè)備 
s 套接字 
p Fifo
#基于目錄深度搜索 向下最大深度限制為3 
find . -maxdepth 3 -type f 
#搜索出深度距離當(dāng)前目錄至少2個(gè)子目錄的所有文件 
find . -mindepth 2 -type f

根據(jù)文件時(shí)間戳進(jìn)行搜索來(lái)自:

find . -type f 時(shí)間戳 
UNIX/Linux文件系統(tǒng)每個(gè)文件都有三種時(shí)間戳: 
#訪問(wèn)時(shí)間(-atime/天高诺,-amin/分鐘):用戶最近一次訪問(wèn)時(shí)間。 
#修改時(shí)間(-mtime/天讽挟,-mmin/分鐘):文件最后一次修改時(shí)間懒叛。 
#變化時(shí)間(-ctime/天,-cmin/分鐘):文件數(shù)據(jù)元(例如權(quán)限等)最后一次修改時(shí)間耽梅。
#搜索最近七天內(nèi)被訪問(wèn)過(guò)的所有文件 
find . -type f -atime -7 
#搜索恰好在七天前被訪問(wèn)過(guò)的所有文件 
find . -type f -atime 7 
#搜索超過(guò)七天內(nèi)被訪問(wèn)過(guò)的所有文件 
find . -type f -atime +7 
#搜索訪問(wèn)時(shí)間超過(guò)10分鐘的所有文件 
find . -type f -amin +10 
#找出比f(wàn)ile.log修改時(shí)間更長(zhǎng)的所有文件 
find . -type f -newer file.log

根據(jù)文件大小進(jìn)行匹配

find . -type f -size 文件大小單元 
文件大小單元: 
#b —— 塊(512字節(jié)) 
#c —— 字節(jié) 
#w —— 字(2字節(jié)) 
#k —— 千字節(jié) 
#M —— 兆字節(jié) 
#G —— 吉字節(jié)
#搜索大于10KB的文件 
find . -type f -size +10k 
#搜索小于10KB的文件 
find . -type f -size -10k 
#搜索等于10KB的文件 
find . -type f -size 10k

刪除匹配文件

#刪除當(dāng)前目錄下所有.txt文件 
find . -type f -name "*.txt" -delete

根據(jù)文件權(quán)限/所有權(quán)進(jìn)行匹配

#當(dāng)前目錄下搜索出權(quán)限為777的文件 
find . -type f -perm 777 
#找出當(dāng)前目錄下權(quán)限不是644的php文件 
find . -type f -name "*.php" ! -perm 644 
#找出當(dāng)前目錄用戶tom擁有的所有文件 
find . -type f -user tom 
#找出當(dāng)前目錄用戶組sunk擁有的所有文件 
find . -type f -group sunk

搜索但跳出指定的目錄

#查找當(dāng)前目錄或者子目錄下所有.txt文件薛窥,但是跳過(guò)子目錄sk 
find . -path "./sk" -prune -o -name "*.txt" -print

要列出所有長(zhǎng)度為零的文件

 find . -empty

借助-exec選項(xiàng)與其他命令結(jié)合使用

#找出當(dāng)前目錄下所有root的文件,并把所有權(quán)更改為用戶
tom find .-type f -user root -exec chown tom {} \; 
#上例中眼姐,{} 用于與-exec選項(xiàng)結(jié)合使用來(lái)匹配所有文件诅迷,
#然后會(huì)被替換為相應(yīng)的文件名。 找出自己家目錄下所有的.txt文件并刪除 
find $HOME/. -name "*.txt" -ok rm {} \; 
#上例中众旗,-ok和-exec行為一樣罢杉,不過(guò)它會(huì)給出提示,是否執(zhí)行相應(yīng)的操作贡歧。 
#查找當(dāng)前目錄下所有.txt文件并把他們拼接起來(lái)寫(xiě)入到all.txt文件中 
find . -type f -name "*.txt" -exec cat {} \;> all.txt 
#將30天前的.log文件移動(dòng)到old目錄中 
find . -type f -mtime +30 -name "*.log" -exec cp {} old \; 
#找出當(dāng)前目錄下所有.txt文件并以“File:文件名”的形式打印出來(lái) 
find . -type f -name "*.txt" -exec printf "File: %s\n" {} \; 
#因?yàn)閱涡忻钪?exec參數(shù)中無(wú)法使用多個(gè)命令滩租,以下方法可以實(shí)現(xiàn)在-exec
#之后接受多條命令 
-exec ./text.sh {} \;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市利朵,隨后出現(xiàn)的幾起案子律想,更是在濱河造成了極大的恐慌,老刑警劉巖绍弟,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件技即,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡樟遣,警方通過(guò)查閱死者的電腦和手機(jī)而叼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén)身笤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人葵陵,你說(shuō)我怎么就攤上這事液荸。” “怎么了埃难?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵莹弊,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我涡尘,道長(zhǎng)忍弛,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任考抄,我火速辦了婚禮细疚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘川梅。我一直安慰自己顶滩,他們只是感情好沪编,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布扒腕。 她就那樣靜靜地躺著蹋肮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪丢早。 梳的紋絲不亂的頭發(fā)上姨裸,一...
    開(kāi)封第一講書(shū)人閱讀 49,185評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音怨酝,去河邊找鬼傀缩。 笑死,一個(gè)胖子當(dāng)著我的面吹牛农猬,可吹牛的內(nèi)容都是我干的赡艰。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼斤葱,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼慷垮!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起揍堕,我...
    開(kāi)封第一講書(shū)人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤料身,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后鹤啡,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蹲嚣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年递瑰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了祟牲。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡抖部,死狀恐怖说贝,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情慎颗,我是刑警寧澤乡恕,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站俯萎,受9級(jí)特大地震影響傲宜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜夫啊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一函卒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧撇眯,春花似錦报嵌、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至玄坦,卻和暖如春血筑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背营搅。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工云挟, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人转质。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓园欣,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親休蟹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沸枯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容

  • find命令是用于實(shí)現(xiàn)精確查找,實(shí)時(shí)查找指定目錄下面的文件赂弓。在工作中常用绑榴。優(yōu)點(diǎn)是:實(shí)時(shí),精確盈魁。缺點(diǎn)是:比較占用系統(tǒng)...
    dxldeng閱讀 713評(píng)論 0 1
  • Linux系統(tǒng)「文件查找」 Linux系統(tǒng)文件中常用屬性為以下內(nèi)容:名稱(chēng)翔怎,大小,權(quán)限,屬主赤套,屬組飘痛,修改時(shí)間,訪問(wèn)時(shí)...
    魏鎮(zhèn)坪閱讀 7,902評(píng)論 0 3
  • Linux下find命令在目錄結(jié)構(gòu)中搜索文件容握,并執(zhí)行指定的操作宣脉。Linux下find命令提供了相當(dāng)多的查找條件,功...
    架構(gòu)飛毛腿閱讀 266評(píng)論 0 0
  • linux資料總章2.1 1.0寫(xiě)的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無(wú)法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,135評(píng)論 2 34
  • find 命令是用來(lái)在指定目錄下查找文件剔氏,用法太多塑猖,就列幾個(gè)常用的 1、根據(jù)文件或者正則表達(dá)式進(jìn)行匹配 列出當(dāng)前目...
    Tester_miao閱讀 1,351評(píng)論 0 1