Linux運(yùn)維之道(10)——Linux查找find命令全面剖析

@(linux)[find]


1. 文件查找

在文件系統(tǒng)上查找符合條件的文件

1.1 簡述locate

非實(shí)時(shí)查找(數(shù)據(jù)庫查找)

  • 依賴于事先構(gòu)建的索引,索引的構(gòu)建是在系統(tǒng)較為空閑時(shí)自動進(jìn)行(周期性任務(wù))
  • 手動更新數(shù)據(jù)庫(updatedb)卵渴,索引構(gòu)建過程需要遍歷整個(gè)根文件系統(tǒng)吴攒,極消耗資源

格式:
locate KEYWORD

工作特點(diǎn):

  • 查找速度快
  • 模糊查找
  • 非實(shí)時(shí)查找

1.2 簡述find

實(shí)時(shí)查找

  • 實(shí)時(shí)查找工具稀火,通過遍歷指定路徑下的文件系統(tǒng)完成文件查找

工作特點(diǎn):

  • 查找速度略慢
  • 精確查找
  • 實(shí)時(shí)查找

2. find命令

格式:
find [OPTION]... [查找路徑] [查找條件] [處理動作]

查找路徑:

  • 指定具體目標(biāo)路徑
  • 默認(rèn)為當(dāng)前目錄

查找條件:

  • 指定的查找標(biāo)準(zhǔn),可以文件名顾画、大小滨砍、類型、權(quán)限等標(biāo)準(zhǔn)進(jìn)行
  • 默認(rèn)為找出指定路徑下的所有文件

處理動作:

  • 對符合條件的文件做什么操作
  • 默認(rèn)輸出至屏幕

2.1 根據(jù)文件名查找

  • -name "文件名稱"
    支持使用glob(*,?,[],[^]`)
  • -iname "文件名稱"
    不區(qū)分字母大小寫
  • -regex "PATTERN"
    以PATTERN匹配整個(gè)文件路徑字符串纷跛,而不僅僅是文件名稱喻括;

2.2 根據(jù)屬主、屬組查找

  • -user USERNAME
    查找屬主為指定用戶的文件
  • group GRPNAME
    查找屬組為指定組的文件
  • -uid UserID
    查找屬主為指定的UID號的文件
  • -gid GroupID
    查找屬組為指定的GID號的文件
  • -nouser
    查找沒有屬主的文件
  • -nogroup
    查找沒有屬組的文件

2.3 根據(jù)文件類型查找

  • -type TYPE
  • f: 普通文件
  • d: 目錄文件
  • l: 符號鏈接文件
  • s:套接字文件
  • b: 塊設(shè)備文件
  • c: 字符設(shè)備文件
  • p: 管道文件

2.4 組合條件

  • 與:-a
  • 或:-o
  • 非:-not, !

2.5 根據(jù)文件大小來查找

  • -size [+|-]#UNIT
    常用單位:k, M, G
  • #UNIT: (#-1, #]
  • -#UNIT:[0,#-1]
  • +#UNIT:(#,oo)

2.6 根據(jù)時(shí)間戳

以“天”為單位

  • -atime [+|-]#,
  • #: [#,#+1)
  • +#: [#+1,oo]
  • -#: [0,#)
  • -mtime
  • -ctime

以“分鐘”為單位

  • -amin
  • -mmin
  • -cmin

2.7 根據(jù)權(quán)限查找

  • -perm [/|-]MODE
    MODE: 精確權(quán)限匹配
    /MODE:任何一類(u,g,o)對象的權(quán)限中只要能一位匹配即可
    -MODE:每一類對象都必須同時(shí)擁有為其指定的權(quán)限標(biāo)準(zhǔn)

2.8 處理動作

  • -print
    默認(rèn)的處理動作忽舟,顯示至屏幕
  • -ls
    類似于對查找到的文件執(zhí)行“l(fā)s -l”命令
  • -delete
    刪除查找到的文件
  • -fls /path/to/somefile
    查找到的所有文件的長格式信息保存至指定文件中
  • -ok COMMAND {} \;
  • 對查找到的每個(gè)文件執(zhí)行由COMMAND指定的命令
  • 對于每個(gè)文件執(zhí)行命令之前双妨,都會交互式要求用戶確認(rèn)
  • -exec COMMAND {} \;
  • 對查找到的每個(gè)文件執(zhí)行由COMMAND指定的命令
  • {}用于引用查找到的文件名稱自身

Note:

  • find傳遞查找到的文件至后面指定的命令時(shí)叮阅,查找到所有符合條件的文件一次性傳遞給后面的命令
  • 有些命令不能接受過多參數(shù)刁品,此時(shí)命令執(zhí)行可能會失敗浩姥;另一種方式可規(guī)避此問題:find | xargs COMMAND

3. 實(shí)戰(zhàn)演示

1挑随、查找/var目錄下屬主為root,且屬組為mail的所有文件或目錄
# find /var -user root -group mail

2勒叠、查找/usr目錄下不屬于root兜挨、bin或hadoop的所有文件或目錄
# find /usr -not -user root -a -not -user bin -a -not -user hadoop
# find /usr -not \( -user root -o -user bin -o -user hadoop \)

3、查找/etc目錄下最周一周內(nèi)其內(nèi)容修改過眯分,同時(shí)屬主不為root拌汇,也不是hadoop的文件或目錄
# find /etc -mtime -7 -a -not -user root -a -not -user hadoop
# find /etc/ -mtime -7 -a -not \( -user root -o -user hadoop \)

4、查找當(dāng)前系統(tǒng)上沒有屬主或?qū)俳M弊决,且最近一個(gè)周內(nèi)曾被訪問過的文件或目錄
# find / -nouser -a -nogroup -a -atime -7

5噪舀、查找/etc目錄下大于1M且類型為普通文件的所有文件
# find /etc -size +1M -type f

6、查找/etc目錄下所有用戶都沒有寫權(quán)限的文件
# find /etc -not -perm /222

7飘诗、查找/etc目錄下至少有一類用戶沒有執(zhí)行權(quán)限的文件
# find /etc -not -perm -111

8与倡、查找/etc/init.d目錄下,所有用戶都有執(zhí)行權(quán)限昆稿,且其它用戶有寫權(quán)限的文件
# find /etc/init.d -perm -113

9.找出/tmp目錄下纺座,屬主不是root,且文件名不是fstab的文件
# find /tmp \( -not -user root -a -not -name 'fstab' \) -ls
# find /tmp -not \( -user root -o -name 'fstab' \) -ls

4. 思維導(dǎo)圖

Linux查找find命令全面剖析
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末溉潭,一起剝皮案震驚了整個(gè)濱河市净响,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌岛抄,老刑警劉巖别惦,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異夫椭,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)氯庆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門蹭秋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來扰付,“玉大人,你說我怎么就攤上這事仁讨∮疠海” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵洞豁,是天一觀的道長盐固。 經(jīng)常有香客問我,道長丈挟,這世上最難降的妖魔是什么刁卜? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮曙咽,結(jié)果婚禮上蛔趴,老公的妹妹穿的比我還像新娘。我一直安慰自己例朱,他們只是感情好孝情,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著洒嗤,像睡著了一般箫荡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上渔隶,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天羔挡,我揣著相機(jī)與錄音,去河邊找鬼派撕。 笑死婉弹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的终吼。 我是一名探鬼主播镀赌,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼际跪!你這毒婦竟也來了商佛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤姆打,失蹤者是張志新(化名)和其女友劉穎良姆,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體幔戏,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡玛追,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片痊剖。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡韩玩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出陆馁,到底是詐尸還是另有隱情找颓,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布叮贩,位于F島的核電站击狮,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏益老。R本人自食惡果不足惜彪蓬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望杨箭。 院中可真熱鬧寞焙,春花似錦、人聲如沸互婿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽慈参。三九已至呛牲,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間驮配,已是汗流浹背娘扩。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留壮锻,地道東北人琐旁。 一個(gè)月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像猜绣,于是被迫代替她去往敵國和親灰殴。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

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

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,134評論 2 34
  • (一)使用locate命令 查詢系統(tǒng)上預(yù)建的文件索引數(shù)據(jù)庫 /var/lib/mlocate/mlocate.d ...
    王王王小白閱讀 660評論 0 0
  • (1)文件查找作用:在文件系統(tǒng)上查找符合條件的文件 ?文件查找:locate, find 非實(shí)時(shí)查找(數(shù)據(jù)庫查找)...
    楠人幫閱讀 454評論 0 0
  • find命令是用于實(shí)現(xiàn)精確查找,實(shí)時(shí)查找指定目錄下面的文件辣之。在工作中常用掰伸。優(yōu)點(diǎn)是:實(shí)時(shí),精確怀估。缺點(diǎn)是:比較占用系統(tǒng)...
    dxldeng閱讀 713評論 0 1
  • 1.文件查找:locate, find 非實(shí)時(shí)查找(數(shù)據(jù)庫查找,速度快):locate實(shí)時(shí)查找:find 2.lo...
    尛尛大尹閱讀 435評論 0 0