find可以這么用

在工作中不可或缺的工具find:查找系統中的各種文件,對查找的文件進行操作,這就是find的作用。進入正題:

1、查找下系統中有一下系統中有幾個文件叫issue的

    [root@localhost private]#find / -name issue

        /etc/issue
        /root/etc2017-02-28/issue
    注:find查找是精確查找,不是模糊匹配

2、現在有一個任務,需要備份一下/etc目錄下的文件,只備份/etc目錄當級目錄下的文件

    [root@localhost private]#find /etc -maxdepth 1 -mindepth 1

        /etc/fstab
        /etc/crypttab
        /etc/mtab
        /etc/resolv.conf

        ……..

    命令中-maxdepth是最大目錄遞歸,面mindepth是最小目錄遞歸,而上面打示例是精確定位目錄遞歸次數

3、下面來說說與文件類型的相關搜索

    先來回憶一下文件都有那些類型吧:

        file(f):普通文件

        directory(d):目錄

        character(c):字符型設備文件

        block(b):塊類型設備文件

        link(l):軟鏈接文件

        socket(s):套接字文件

        pipe(p):管道文件

    來查看一下/etc目錄一級目錄中的以.conf字符結尾的普通文件

          find /etc -maxdepth 1 -mindepth 1 -type f -name “*.conf”

                   /etc/resolv.conf
                    /etc/sos.conf
                    /etc/logrotate.conf
                    /etc/host.conf
                    /etc/request-key.conf

    做個小解釋吧:精確定位目錄層級使用 -maxdepth 1 -mindepth 1,而定位文件時使用-type再加上文件類型,而在文件名通配方面需要加引號

4、來說說相關時間的查找吧

      查找一下最近7天發生變劃的文件吧

            find ./ -mtime -7

    這個有mtime,atime,ctime之分,可還記的時間戳,就是它,所心查找對應的時間發生的不同的改變的文件就這么查吧

5、按文件大小進行查找

    這個文件大小查找有點坑,在這個值區間太坑了不好玩

        查找當前目錄大于1M的目錄

            find ./ -size +1M -exec ls -lh {} \;

                -rw-r–r–. 1 root root 1.8M Mar  4 15:04 ./.cache/tracker/meta.db
                -rw-r–r–. 1 root root 1.2M Mar  4 15:04 ./.cache/tracker/meta.db-wal

    在生產環境也只有這個比較常用,查看下特定目錄下有那些大文件,所面的操作后面會說明

6、下面來看看權限相關的查詢

      查詢一下文件的其它用戶有執行權限的文件

           find ./ -perm -001 -ls

    查詢當前目錄有執行權限的文件

        find ./ -perm /111 -ls

    注:權限匹配中-mode是并的關系,在這之中0表示不關心這一個位置,例如-111就是屬主,屬組,其它用戶都有執行權限的文件,而/mode正好相反,是或的關系,只要有一個位置匹配上就可以輸出

7、下面說說操作匹配項

    這里說個3+1吧:

    -ls:這算是3個中的一個輸出list長格式

    -ok:這算是3個中的一個后面可以加命令進行操作

        固定格式是:-ok COMMAND {} \;

    -exec:這個同ok,只是進行操作時不提示 

       這里說一個示例吧,要把當前目錄下的可執行文件移動到tmp目錄下            

            find ./ -type f -perm /111 -exec mv {} /tmp/test/{} \;

    來說說最后的1吧xarges,這個比較給力,可以完成大批量文件操作

        find a | xargs rm

8、說一下用戶相關的問題吧:

    -user,-group,-gid,-uid,-nouser,-nogroup,

    這個是查找用戶的相關的參數,其中重要的就是查找沒有用戶,沒有用戶組的兩個相關的參數了,這個可以強化設備安全,因為沒有用戶的文件,會照成設備安全隱患

9、上面介紹了這么多find的參數,但是這樣的find并不強大,但是find支持或與并,這個就強大了,可以多條件進行匹配了

    非:-not

    與:-a

    或:-o

      查找var目錄下的用戶是root,用戶組是mail的文件

        find ./ -user root -a -group mail 

    注:-a可省略

寫法多,正在挖掘

原創文章,作者:gaomei,如若轉載,請注明出處:http://www.www58058.com/70561

(0)
gaomeigaomei
上一篇 2017-03-05 17:04
下一篇 2017-03-06 09:28

相關推薦

  • 馬哥教育網絡班21期第七周作業

    1、創建一個10G分區,并格式為ext4文件系統;   (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;   (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳; [root@localhost ~]#…

    Linux干貨 2016-10-09
  • linux 文件管理類命令及功能用法

    第一題:Linux上的文件管理類命令都有哪些,其常用的使用方法及相關示例演示。 文件管理類的命令有: cd,ls,touch,mldir,cp,mv,rm,rmdir,pwd,tree 使用方法 (1),cd命令用來切換工作目錄至dirname。其中dirName表示法可為絕對路徑或相對路徑。 常用格式: cd #進入用戶家目錄 cd~ #進入用戶家目錄 c…

    Linux干貨 2017-07-09
  • 馬哥教育網絡第21期-第十四周課程練習

    系統的INPUT和OUTPUT默認策略為DROP; iptables -P INPUT DROP iptables -P OUTPUT DROP 1、限制本地主機的web服務器在周一不允許訪問;新請求的速率不能超過100個每秒;web服務器包含了admin字符串的頁面不允許訪問; web服務器僅允許…

    Linux干貨 2016-12-26
  • Shell編程if語句

    Shell編程if語句 條件選擇if語句(#if輸入keywork) 選擇執行: 注意:if語句可嵌套 單分支 if 判斷條件(#如果為真執行下一條);then 條件為真的分支代碼 fi(結尾) 雙分支 if 判斷條件; then 條件為真的分支代碼 else 條件為假的分支代碼 fi if 語句 多分支 if 判斷條件1; then 條件為真的分支代碼 e…

    2018-01-01
  • Linux目錄配置整理

    FHS:   為了規范各種Linux發行版的目錄配置方法和目錄定義而制定了FHS規范。   在FHS規范的Linux中,所有的文件和目錄都由根目錄開始,即“/”,它是所有文件和目錄的起點。然后按層次化的樹狀劃分下來。這種目錄結構被稱為“目錄樹”。 目錄樹的特性:   ·起始點為根目錄(/或root)   ·每一個目錄不…

    Linux干貨 2016-07-07
  • 正則表達式

    1:什么是正則表達式: 簡單的說,正則表達式就是處理字符串的方法,它是以行為單位進行字符串的處理行為,正則表達式通過一些特殊符號的輔助,可以讓用戶輕易達到查找,刪除,替換某特定字符串的處理程序。 2:一些參數: grep [-A] [-B] [–color=auto] ‘收索字符串’ filename -A :后面可加數字…

    2017-07-29
欧美性久久久久