Linux文件查找之find秘笈
前言
? ? Linux的基本特點之一是一切皆文件,在系統(tǒng)管理過程中難免會需要查找特定類型的文件,那么問題
來了:如何進行有效且準確的查找呢?本文將對Linux系統(tǒng)中的文件查找工具及用法進行詳細講解。
常用工具對比
? ? 常用的文件查找工具主要有l(wèi)ocate(非實時查找)和find(實時查找)。locate查找依賴于索引,
而索引構(gòu)建相當占用資源,索引的創(chuàng)建是在系統(tǒng)空閑時由系統(tǒng)自動進行(每天任務(wù)),手動進行創(chuàng)建則
可使用updatedb命令,查找速度快但結(jié)果非精確,即為模糊查找。而find相對于locate而言,是遍歷所
有文件進行條件匹配,查找速度慢但結(jié)果精確,即為精準查找。簡言之,對于實際生產(chǎn)環(huán)境,find(實
時查找)無疑是最有效的文件查找工具。
find的用法
命令格式:
find [options] [查找路徑] [查找條件] [處理動作]
條件查找
組合條件查找
-a:與,同時滿足 -o:或,滿足一個即可 -not:!非,條件取反文件類型查找
-type?TYPE:根據(jù)文件類型查找f:普通文件d:目錄文件l:符號鏈接b:塊設(shè)備c:字符設(shè)備s:套接字文件p:命名管道 -size?[+|-]#UNIT:根據(jù)文件大小查找常用單位:k,M,G#UNIT:#-1<x<=#-#UNIT:x<=#-1+#UNIT:x>#(x為匹配到的文件大小)時間戳查找
權(quán)限查找
-perm?[+|-]MODEMODE:與MODE精確匹配+MODE:?任何一類用戶的權(quán)限只要能包含對其指定的任何一位權(quán)限即可-MODE:每類用戶指定的檢查權(quán)限都匹配處理動作
-print:?默認處理動作,顯示 -ls:類似于ls?-l -exec?COMMAND?{}?\; -ok?COMMAND?{}?\; find一次性查找符合條件的所有文件,并一同傳遞給給-exec或-ok后面指定的命令,但有些命令不能接受過長的參數(shù),此時使用另一種方式: find?|?xargs?COMMANDfind實戰(zhàn)
#查找/scripts/目錄中包含s以.sh結(jié)尾的文件并復(fù)制到/tmp目錄#查找/usr目錄下不屬于root、bin或scholar的所用文件
#查找/tmp/目錄下最近一周內(nèi)其內(nèi)容修改過的,且不屬于root且不屬于scholar的文件#查找當前系統(tǒng)上沒有屬主或?qū)俳M,且最近1個月內(nèi)曾被訪問過的文件#查找/etc/目錄下大于1M且類型為普通文件的所有文件#查找/etc/目錄所有用戶都沒有寫權(quán)限的文件#查找/etc/目錄下至少有一類用戶沒有寫權(quán)限 #由于文件過多,已重定向#查找/etc/rc.d/目錄下,所有用戶都有執(zhí)行權(quán)限且其它用戶有寫權(quán)限的文件 #由于文件過多,已重定向
The end
? ? 對于權(quán)限查找+222和-222的取反匹配,學習時錯誤的只對+222和-222取反,可懵了好一會才想明
白。最后在啰嗦一句,切記:權(quán)限查找取反是對全局匹配取反,而不是只對權(quán)限取反!!!
? ? 以上只是學習總結(jié),如有錯漏,大神勿噴~~~
轉(zhuǎn)載于:https://blog.51cto.com/scholar/1623450
總結(jié)
以上是生活随笔為你收集整理的Linux文件查找之find秘笈的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到胳膊长毛是什么意思
- 下一篇: Linux下如何自己编译源代码(制作成可