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