文件查找(locate精续、find)

1.文件查找:locate, find

非實(shí)時查找(數(shù)據(jù)庫查找,速度快):locate
實(shí)時查找:find

2.locate

1>查詢系統(tǒng)上預(yù)建的文件索引數(shù)據(jù)庫
/var/lib/mlocate/mlocate.db
2>依賴于事先構(gòu)建的索引
索引的構(gòu)建是在系統(tǒng)較為空閑時自動進(jìn)行(周期性任務(wù))坠狡,管理
員手動更新數(shù)據(jù)庫
# updatedb
3>索引構(gòu)建過程需要遍歷整個根文件系統(tǒng)唤锉,極消耗資源
? 工作特點(diǎn):
? 查找速度快
? 模糊查找
? 非實(shí)時查找
? 搜索的是文件的全路徑竖哩,不僅僅是文件名
? 可能只搜索用戶具備讀取和執(zhí)行權(quán)限的目錄

locate KEYWORD
? 有用的選項(xiàng)
? -i 不區(qū)分大小寫的搜索
? -n N 只列舉前N個匹配項(xiàng)目
? locate conf
? 搜索名稱或路徑中帶有“conf”的文件
? locate -r ‘.conf$’
? 使用Regex來搜索以“.conf”結(jié)尾的文件

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)遞歸搜索)
處理動作:對符合條件的文件做操作基茵,默認(rèn)輸出至屏幕

查找條件
  • 指搜索層級
    -maxdepth level 最大搜索目錄深度,指定目錄為第1級
    -mindepth level 最小搜索目錄深度
  • 根據(jù)文件名和inode查找:
    name "文件名稱":支持使用glob
    *, ?, [], [^]
    -iname "文件名稱":不區(qū)分字母大小寫
    -inum n 按inode號查找
    -samefile name 相同inode號的文件
    -links n 鏈接數(shù)為n的文件
    -regex "PATTERN":以PATTERN匹配整個文件路徑字
    符串,而不僅僅是文件名稱
Paste_Image.png
Paste_Image.png
Paste_Image.png
  • 根據(jù)屬主骨田、屬組查找:
    -user USERNAME:查找屬主為指定用戶(UID)的文件
    -group GRPNAME: 查找屬組為指定組(GID)的文件
    -uid UserID:查找屬主為指定的UID號的文件
    -gid GroupID:查找屬組為指定的GID號的文件
    -nouser:查找沒有屬主的文件
    -nogroup:查找沒有屬組的文件
  • 根據(jù)文件類型查找:
    -type TYPE:
    ? f: 普通文件
    ? d: 目錄文件
    ? l: 符號鏈接文件
    ? s:套接字文件
    ? b: 塊設(shè)備文件
    ? c: 字符設(shè)備文件
    ? p: 管道文件
查找條件

組合條件:
與:-a
或:-o
非:-not, !
? 德·摩根定律:
(非 A) 或 (非 B) = 非(A 且 B)
(非 A) 且 (非 B) = 非(A 或 B)
? 示例:
!A -a !B = !(A -o B)
!A -o !B = !(A -a B)

Paste_Image.png

舉例:
  • find -name snow.png
    ? 搜索名為snow.png的文件
    find -iname snow.png
    ? 不分大小寫地搜索名為snow.png耿导、Snow.png、SNOW.PNG等等的文件
    find / -name “\*.txt”
    find /var –name “*log*”
    find -user joe -group joe
    ? 找出/tmp目錄下态贤,屬主不是root舱呻,且文件名不以f開頭的文件
    find /tmp ( -not -user root -a -not -name 'f*' ) -ls
    find /tmp -not ( -user root -o -name 'f*' ) –ls
    ? 排除目錄
    示例:查找/etc/下,除/etc/sane.d目錄的其它所有.conf后綴的文件
    find /etc -path ‘/etc/sane.d’ -a -prune-o -name “*.conf”
    find /etc (–path ‘/etc/sane.d’ –o –path ’/etc/fonts’ ) -a prune –o name “*.conf”

? 根據(jù)文件大小來查找
-size [+|-]#UNIT
常用單位:k, M, G悠汽,c(byte)
#UNIT: (#-1,\ #]
如:6k 表示(5k,6k]
-#UNIT:[0,#-1]
如:-6k 表示[0,5k]
+#UNIT:(#,∞)

Paste_Image.png
  • ? 根據(jù)權(quán)限查找:

-perm [/|-]MODE
MODE: 精確權(quán)限匹配
/MODE:任何一類(u,g,o)對象的權(quán)限中只要能一位匹配即可箱吕,或關(guān)系,+ 從centos7開始淘汰
-MODE:每一類對象都必須同時擁有指定權(quán)限柿冲,與關(guān)系 茬高,0 表示不關(guān)注
? find -perm 755 會匹配權(quán)限模式恰好是755的文件
? 只要當(dāng)任意人有寫權(quán)限時,find -perm +222就會匹配
? 只有當(dāng)每個人都有寫權(quán)限時假抄,find -perm -222才會匹配
? 只有當(dāng)其它人(other)有寫權(quán)限時怎栽,find -perm -002才
會匹配

Paste_Image.png
  • 處理動作

? -print:默認(rèn)的處理動作,顯示至屏幕
? -ls:類似于對查找到的文件執(zhí)行“l(fā)s -l”命令
? -delete:刪除查找到的文件
? -fls file:查找到的所有文件的長格式信息保存至指定文件中
? -ok COMMAND {} ; 對查找到的每個文件執(zhí)行由COMMAND
指定的命令宿饱,對于每個文件執(zhí)行命令之前熏瞄,都會交互式要求
用戶確認(rèn)
? -exec COMMAND {} ; 對查找到的每個文件執(zhí)行由COMMAND指定的命令

? {}: 用于引用查找到的文件名稱自身
? find傳遞查找到的文件至后面指定的命令時,查找到所有符合
條件的文件一次性傳遞給后面的命令

Paste_Image.png
  • 參數(shù)替換xargs

? 由于很多命令不支持管道|來傳遞參數(shù)谬以,而日常工作中有這個
必要强饮,所以就有了xargs命令
? xargs用于產(chǎn)生某個命令的參數(shù),xargs 可以讀入 stdin 的數(shù)
據(jù)为黎,并且以空格符或回車符將 stdin 的數(shù)據(jù)分隔成為arguments
(找到文件后一個一個的傳文件給后面的命令)
? 注意:文件名或者是其他意義的名詞內(nèi)含有空格符的情況
? 有些命令不能接受過多參數(shù)邮丰,命令執(zhí)行可能會失敗行您,xargs可
以解決
(如果可以,直接刪除文件夾)
? 示例:
ls f* |xargs rm
find /sbin -perm +700 |ls -l 這個命令是錯誤的
find /sbin -perm +7000 | xargs ls –l
? find和xargs格式:find | xargs COMMAND

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末剪廉,一起剝皮案震驚了整個濱河市娃循,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌斗蒋,老刑警劉巖淮野,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異吹泡,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)经瓷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門爆哑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人舆吮,你說我怎么就攤上這事揭朝。” “怎么了色冀?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵潭袱,是天一觀的道長。 經(jīng)常有香客問我锋恬,道長屯换,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任与学,我火速辦了婚禮彤悔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘索守。我一直安慰自己晕窑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布卵佛。 她就那樣靜靜地躺著杨赤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪截汪。 梳的紋絲不亂的頭發(fā)上疾牲,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機(jī)與錄音挫鸽,去河邊找鬼说敏。 笑死,一個胖子當(dāng)著我的面吹牛丢郊,可吹牛的內(nèi)容都是我干的盔沫。 我是一名探鬼主播医咨,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼架诞!你這毒婦竟也來了拟淮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤谴忧,失蹤者是張志新(化名)和其女友劉穎很泊,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沾谓,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡委造,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了均驶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昏兆。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖妇穴,靈堂內(nèi)的尸體忽然破棺而出爬虱,到底是詐尸還是另有隱情,我是刑警寧澤腾它,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布跑筝,位于F島的核電站,受9級特大地震影響瞒滴,放射性物質(zhì)發(fā)生泄漏曲梗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一逛腿、第九天 我趴在偏房一處隱蔽的房頂上張望稀并。 院中可真熱鬧,春花似錦单默、人聲如沸碘举。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽引颈。三九已至,卻和暖如春境蜕,著一層夾襖步出監(jiān)牢的瞬間蝙场,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工粱年, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留售滤,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像完箩,于是被迫代替她去往敵國和親赐俗。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

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

  • 文件查找:在文件系統(tǒng)上查找符合條件的文件 1.locate 查找事先構(gòu)建好的索引庫(/var/lib/mlocat...
    ckhzw閱讀 478評論 0 0
  • (1)文件查找作用:在文件系統(tǒng)上查找符合條件的文件 ?文件查找:locate, find 非實(shí)時查找(數(shù)據(jù)庫查找)...
    楠人幫閱讀 463評論 0 0
  • Linux下一切皆文件,但是文件由于文件的屬性的不同秩彤,在查找上可以針對不同的文件做相應(yīng)的查找以便加快查詢速度和減少...
    常青藤成閱讀 1,042評論 0 0
  • which 查看可執(zhí)行文件的位置 命令格式:which 可執(zhí)行文件名稱 命令功能:which指令會在PATH變量指...
    upupSue閱讀 693評論 0 1
  • 簡書叔扼,裝了卸,卸了又裝漫雷,自己都要快放棄我自己了瓜富。學(xué)了很多道理,卻依然沒有將生活變的更好降盹,看著身邊的家人食呻,朋友都在變...
    木石南閱讀 383評論 0 0