Linux下如何使用find命令


 

每一種操作系統都有成千上萬的文件組成,對於linux這樣“一切皆文件”的操作系統來說更不例外,大家應該都能很輕松使用windows下的文件查找功能,但是對linux這一功能可能並不是很熟悉,其實想玩linux的你更要牢牢掌握這個命令,因為linux不像windows那樣有固定的文件名后綴,並且因為linux陣營下百家爭鳴的特性,一個相同的文件在不同的發行版,可能會有不同,所以如果你能牢牢掌握find命令的使用,你會發現linux下文件查找功能其實很簡單,而且要比windows下查找功能強大很多很多!好,下面進入正題

 

下面重點說下find指定查找目錄的情況下是對整個系統進行遍歷查找

 

  使用格式    find  [指定查找目錄]  [查找規則]  [查找完后執行的action]

 

  [指定查找目錄]例如:

 

這里要注意的是目錄之間要用空格分開

  [查找規則

        1)根據文件名查找

           #  -name       //根據文件名查找(精確查找)

           #  -iname       //根據文件名查找,但是不區分大小寫 

 

這就是利用find 來查找etc目錄下 用戶名下conf 文件

另外一個例子,利用find 來查找etc目錄下以c或d開頭,以f結尾的文件

find /etc -uname [c,d]*f 

這里另外介紹下文件名通配的知識

*表示  通配任意的字符        

 ?表示  通配任意的單個字符     

[ ] 表示 通配括號里面的任意一個字符,里面也可以是字符的集合

       

     (2)根據文件所屬用戶和組來查找文件

           #  -user         //根據屬主來查找文件

           #  -group        //根據屬組來查找文件

 

 

          3)根據uid  gid來查找用戶

 

           #find  /tmp  -uid  500  //查找uid500 的文件

           #find  /tmp  -gid  500// 查找gid1000的文件

 

 

          4-a  and  -o  and  –not的使用

           # -a 連接兩個不同的條件(兩個條件必須同時滿足)

 

          # -o 連接兩個不同的條件(兩個條件滿足其一即可)

          # -not 對條件取反的

     

 

 

    (5)根據文件時間戳的相關屬性來查找文件

          我們可以使用stat命令來查看一個文件的時間信息 如下

           #-atime

           #-mtime

           #-ctime

           #-amin

           #-mmin

           #-cmin

 

   所以這里atime,mtime,ctime就是分別對應的“最近一次訪問時間”“最近一次內容修改時間”“最近一次屬性修改時間”,這里的atime的單位指的是“天”,amin的單位是分鍾  

 

          #find  /tmp  –atime  +5           //表示查找在五天內沒有訪問過的文件

          #find  /tmp  -atime  -5            //表示查找在五天內訪問過的文件

          

          6),根據文件類型來查找文件

                -type

                      f     // 普通文件

                      d     //目錄文件

                      l     //鏈接文件

                      b     //塊設備文件

                      c     //字符設備文件

                      p     //管道文件

                      s     //socket文件

 

 

  

 

 

 

 

        (7),根據大小來查找文件

 

               -size

 

          #find  /tmp  -size   2M           //查找在/tmp 目錄下等於2M的文件

          #find  /tmp  -size  +2M           //查找在/tmp 目錄下大於2M的文件

          #find  /tmp  -size  -2M           //查找在/tmp 目錄下小於2M的文件

 

 

           (8),根據文件權限查找文件

 

              -perm

 

          #find  /tmp  -perm  755           //查找在/tmp目錄下權限是755的文件

          #find  /tmp  -perm  +222          //表示只要有一類用戶(屬主,屬組,其他)的匹配寫權限就行

          #find  /tmp  -perm  -222          //表示必須所有類別用戶都滿足有寫權限

 

         

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM