find命令用法

介紹

find命令用來在指定目錄下查找文件。任何位于參數(shù)之前的字符串都將被視為欲查找的目錄名。如果使用該命令時唐全,不設(shè)置任何參數(shù),則find命令將在當(dāng)前目錄下查找子目錄與文件蕊玷。并且將查找到的子目錄和文件全部進(jìn)行顯示邮利。

語法

find (選項) (參數(shù))

選項

-amin<分鐘>:查找在指定時間曾被存取過的文件或目錄,單位以分鐘計算垃帅;
-anewer<參考文件或目錄>:查找其存取時間較指定文件或目錄的存取時間更接近現(xiàn)在的文件或目錄延届;
-atime<24小時數(shù)>:查找在指定時間曾被存取過的文件或目錄,單位以24小時計算贸诚;
-cmin<分鐘>:查找在指定時間之時被更改過的文件或目錄方庭;
-cnewer<參考文件或目錄>查找其更改時間較指定文件或目錄的更改時間更接近現(xiàn)在的文件或目錄;
-ctime<24小時數(shù)>:查找在指定時間之時被更改的文件或目錄酱固,單位以24小時計算械念;
-daystart:從本日開始計算時間;
-depth:從指定目錄下最深層的子目錄開始查找运悲;
-expty:尋找文件大小為0 Byte的文件龄减,或目錄下沒有任何子目錄或文件的空目錄;
-exec<執(zhí)行指令>:假設(shè)find指令的回傳值為True班眯,就執(zhí)行該指令希停;
-false:將find指令的回傳值皆設(shè)為False;
-fls<列表文件>:此參數(shù)的效果和指定“-ls”參數(shù)類似署隘,但會把結(jié)果保存為指定的列表文件宠能;
-follow:排除符號連接;
-fprint<列表文件>:此參數(shù)的效果和指定“-print”參數(shù)類似磁餐,但會把結(jié)果保存成指定的列表文件违崇;
-fprint0<列表文件>:此參數(shù)的效果和指定“-print0”參數(shù)類似,但會把結(jié)果保存成指定的列表文件;
-fprintf<列表文件><輸出格式>:此參數(shù)的效果和指定“-printf”參數(shù)類似亦歉,但會把結(jié)果保存成指定的列表文件;
-fstype<文件系統(tǒng)類型>:只尋找該文件系統(tǒng)類型下的文件或目錄畅哑;
-gid<群組識別碼>:查找符合指定之群組識別碼的文件或目錄肴楷;
-group<群組名稱>:查找符合指定之群組名稱的文件或目錄;
-help或——help:在線幫助荠呐;
-ilname<范本樣式>:此參數(shù)的效果和指定“-lname”參數(shù)類似赛蔫,但忽略字符大小寫的差別;
-iname<范本樣式>:此參數(shù)的效果和指定“-name”參數(shù)類似泥张,但忽略字符大小寫的差別呵恢;
-inum<inode編號>:查找符合指定的inode編號的文件或目錄;
-ipath<范本樣式>:此參數(shù)的效果和指定“-path”參數(shù)類似媚创,但忽略字符大小寫的差別渗钉;
-iregex<范本樣式>:此參數(shù)的效果和指定“-regexe”參數(shù)類似,但忽略字符大小寫的差別钞钙;
-links<連接數(shù)目>:查找符合指定的硬連接數(shù)目的文件或目錄鳄橘;
-iname<范本樣式>:指定字符串作為尋找符號連接的范本樣式;
-ls:假設(shè)find指令的回傳值為Ture芒炼,就將文件或目錄名稱列出到標(biāo)準(zhǔn)輸出瘫怜;
-maxdepth<目錄層級>:設(shè)置最大目錄層級;
-mindepth<目錄層級>:設(shè)置最小目錄層級本刽;
-mmin<分鐘>:查找在指定時間曾被更改過的文件或目錄鲸湃,單位以分鐘計算;
-mount:此參數(shù)的效果和指定“-xdev”相同子寓;
-mtime<24小時數(shù)>:查找在指定時間曾被更改過的文件或目錄暗挑,單位以24小時計算;
-name<范本樣式>:指定字符串作為尋找文件或目錄的范本樣式斜友;
-newer<參考文件或目錄>:查找其更改時間較指定文件或目錄的更改時間更接近現(xiàn)在的文件或目錄窿祥;
-nogroup:找出不屬于本地主機群組識別碼的文件或目錄;
-noleaf:不去考慮目錄至少需擁有兩個硬連接存在蝙寨;
-nouser:找出不屬于本地主機用戶識別碼的文件或目錄晒衩;
-ok<執(zhí)行指令>:此參數(shù)的效果和指定“-exec”類似,但在執(zhí)行指令之前會先詢問用戶墙歪,若回答“y”或“Y”听系,則放棄執(zhí)行命令;
-path<范本樣式>:指定字符串作為尋找目錄的范本樣式虹菲;
-perm<權(quán)限數(shù)值>:查找符合指定的權(quán)限數(shù)值的文件或目錄靠胜;
-print:假設(shè)find指令的回傳值為Ture,就將文件或目錄名稱列出到標(biāo)準(zhǔn)輸出。格式為每列一個名稱浪漠,每個名稱前皆有“./”字符串陕习;
-print0:假設(shè)find指令的回傳值為Ture,就將文件或目錄名稱列出到標(biāo)準(zhǔn)輸出址愿。格式為全部的名稱皆在同一行该镣;
-printf<輸出格式>:假設(shè)find指令的回傳值為Ture,就將文件或目錄名稱列出到標(biāo)準(zhǔn)輸出响谓。格式可以自行指定损合;
-prune:不尋找字符串作為尋找文件或目錄的范本樣式;
-regex<范本樣式>:指定字符串作為尋找文件或目錄的范本樣式;
-size<文件大小>:查找符合指定的文件大小的文件娘纷;
-true:將find指令的回傳值皆設(shè)為True嫁审;
-typ<文件類型>:只尋找符合指定的文件類型的文件;
-uid<用戶識別碼>:查找符合指定的用戶識別碼的文件或目錄赖晶;
-used<日數(shù)>:查找文件或目錄被更改之后在指定時間曾被存取過的文件或目錄律适,單位以日計算;
-user<擁有者名稱>:查找符和指定的擁有者名稱的文件或目錄遏插;
-version或——version:顯示版本信息擦耀;
-xdev:將范圍局限在先行的文件系統(tǒng)中;
-xtype<文件類型>:此參數(shù)的效果和指定“-type”參數(shù)類似涩堤,差別在于它針對符號連接檢查眷蜓。

實例

列出當(dāng)前目錄及子目錄下所有文件和文件夾
find .
/home目錄下查找以.txt結(jié)尾的文件名
find /home -name "*.txt"
同上,但忽略大小寫
find /home -iname "*.txt"
當(dāng)前目錄及子目錄下查找所有以.txt和.pdf結(jié)尾的文件
find . \( -name "*.txt" -o -name "*.pdf" \)

find . -name "*.txt" -o -name "*.pdf"
匹配文件路徑或者文件
find /usr/ -path "*local*"
基于正則表達(dá)式匹配文件路徑
find . -regex ".*\(\.txt\|\.pdf\)$"
找出/home下不是以.txt結(jié)尾的文件
find /home ! -name "*.txt"

根據(jù)文件類型進(jìn)行搜索

find . -type 類型參數(shù)

類型參數(shù)列表:
f 普通文件
l 符號連接
d 目錄
c 字符設(shè)備
b 塊設(shè)備
s 套接字
p Fifo

基于目錄深度搜索

向下最大深度限制為3
find . -maxdepth 3 -type f
搜索出深度距離當(dāng)前目錄至少2個子目錄的所有文件
find . -mindepth 2 -type f

根據(jù)文件時間戳進(jìn)行搜索

find . -type f 時間戳

UNIX/Linux文件系統(tǒng)每個文件都有三種時間戳:
訪問時間(-atime/天胎围,-amin/分鐘):用戶最近一次訪問時間吁系。
修改時間(-mtime/天,-mmin/分鐘):文件最后一次修改時間白魂。
變化時間(-ctime/天汽纤,-cmin/分鐘):文件數(shù)據(jù)元(例如權(quán)限等)最后一次修改時間。

搜索最近七天內(nèi)被訪問過的所有文件
find . -type f -atime -7
搜索恰好在七天前被訪問過的所有文件
find . -type f -atime 7
搜索超過七天內(nèi)被訪問過的所有文件
find . -type f -atime +7
搜索訪問時間超過10分鐘的所有文件
find . -type f -amin +10
找出比file.log修改時間更長的所有文件
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

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

找出當(dāng)前目錄下所有root的文件福荸,并把所有權(quán)更改為用戶tom
find .-type f -user root -exec chown tom {} \;
上例中蕴坪,{} 用于與-exec選項結(jié)合使用來匹配所有文件,然后會被替換為相應(yīng)的文件名敬锐。
找出自己家目錄下所有的.txt文件并刪除
find $HOME/. -name "*.txt" -ok rm {} \;
上例中背传,-ok和-exec行為一樣,不過它會給出提示台夺,是否執(zhí)行相應(yīng)的操作径玖。
查找當(dāng)前目錄下所有.txt文件并把他們拼接起來寫入到all.txt文件中
find . -type f -name "*.txt" -exec cat {} \;> all.txt
將30天前的.log文件移動到old目錄中
find . -type f -mtime +30 -name "*.log" -exec cp {} old \;
找出當(dāng)前目錄下所有.txt文件并以“File:文件名”的形式打印出來
find . -type f -name "*.txt" -exec printf "File: %s\n" {} \;
因為單行命令中-exec參數(shù)中無法使用多個命令,以下方法可以實現(xiàn)在-exec之后接受多條命令-exec ./text.sh {} \;搜索但跳出指定的目錄
查找當(dāng)前目錄或者子目錄下所有.txt文件颤介,但是跳過子目錄sk
find . -path "./sk" -prune -o -name "*.txt" -print

find其他技巧收集

要列出所有長度為零的文件
find . -empty

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末梳星,一起剝皮案震驚了整個濱河市赞赖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌冤灾,老刑警劉巖前域,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異韵吨,居然都是意外死亡匿垄,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門学赛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來年堆,“玉大人吞杭,你說我怎么就攤上這事盏浇。” “怎么了芽狗?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵绢掰,是天一觀的道長。 經(jīng)常有香客問我童擎,道長滴劲,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任顾复,我火速辦了婚禮班挖,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芯砸。我一直安慰自己萧芙,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布假丧。 她就那樣靜靜地躺著双揪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪包帚。 梳的紋絲不亂的頭發(fā)上渔期,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機與錄音渴邦,去河邊找鬼疯趟。 笑死,一個胖子當(dāng)著我的面吹牛谋梭,可吹牛的內(nèi)容都是我干的迅办。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼章蚣,長吁一口氣:“原來是場噩夢啊……” “哼站欺!你這毒婦竟也來了姨夹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤矾策,失蹤者是張志新(化名)和其女友劉穎磷账,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贾虽,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡逃糟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蓬豁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绰咽。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖地粪,靈堂內(nèi)的尸體忽然破棺而出取募,到底是詐尸還是另有隱情,我是刑警寧澤蟆技,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布玩敏,位于F島的核電站,受9級特大地震影響质礼,放射性物質(zhì)發(fā)生泄漏旺聚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一眶蕉、第九天 我趴在偏房一處隱蔽的房頂上張望砰粹。 院中可真熱鬧,春花似錦造挽、人聲如沸碱璃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽厘贼。三九已至,卻和暖如春圣拄,著一層夾襖步出監(jiān)牢的瞬間嘴秸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工庇谆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留岳掐,地道東北人。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓饭耳,卻偏偏與公主長得像串述,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子寞肖,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349

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

  • find命令是用于實現(xiàn)精確查找,實時查找指定目錄下面的文件。在工作中常用渊迁。優(yōu)點是:實時责静,精確淫僻。缺點是:比較占用系統(tǒng)...
    dxldeng閱讀 713評論 0 1
  • .bat腳本基本命令語法 目錄 批處理的常見命令(未列舉的命令還比較多,請查閱幫助信息) 1、REM 和 :: 2...
    慶慶慶慶慶閱讀 8,069評論 1 19
  • 部署 1. 下載 地址:https://www.elastic.co/cn/products Elasticsea...
    平仄_pingze閱讀 1,144評論 0 0
  • 最近學(xué)習(xí)寫作萝风,隨機在身邊的朋友間做調(diào)查,發(fā)現(xiàn)普遍認(rèn)為寫作難紫岩,很多人甚至覺得寫作是一件痛苦事规惰,有的主動去逃避寫作...
    小鑫影評書評情感閱讀 303評論 0 7
  • 人物畫法 點線畫法,或者叫直線畫法被因。由五條線組成卿拴,線的終點著重畫點衫仑。這樣頭部梨与、身體、手臂文狱、腿部畫好粥鞋,就有了一個最簡...
    特立獨行的石頭閱讀 1,313評論 0 2