N25第三周視頻博客 find命令詳解

視頻作業:find命令詳解

大綱:

 

      1、什么是find

2、find能實現什么功能

3、為什么要使用find

4、如何使用find

5、find各參數詳解

 

1、什么是find

     findlinux 命令,它將檔案系統內符合 expression(表達式) 的檔案列出來。你可以指要檔案的名稱、類別、時間、大小、權限等不同資訊的組合,只有完全相符的才會被列出來。find 根   據下列規則判斷 path expression,在命令列上第一個 – ( ) , ! 之前的部分為 path,之后的是 expression。

              簡單的來說,find是用來實現查找功能的,可以根據不同的表達式與指定的路徑來查找相對應的內容。

 

2、find能實現什么功能

    首先,find能實現最基本的功能就是查找,在實現查找功能后可根據參數來實現追加操作,例如:將查找出來的數據刪除、詳細展示查找出來的數據等。

 

3、為什么要使用find

  其實,能實現查詢功能的命令還有locate,它的優點就是查詢速度快,但是它非常依賴于事先構建好的索引庫,如果索引庫遭到破壞,就基本上喪失了其核心功能。而且它是非實時性的,   造成的后果就是不精確,對于數據吞吐量很大的環境查找新鮮數據非常有局限性。

    find雖然查詢速度相較于locate比較慢,但是它是一款實時查找工具,通過遍歷指定起始路徑下文件系統層級結構完成文件查找,不依賴于索引庫,適用于任何情況下,所以綜合以上幾   點,find確實是一款比較優秀的查詢工具。

 

4、如何使用find

    find功能非常強大,可將查詢條件隨意組合,而且在查詢完畢后可根據追加操作來處理數據,具體格式如下:

    find   [查找路徑]  [查找條件]   [追加操作]

       注:如果不寫路徑,默認是查找當前目錄下的所有文件及目錄,

         如果不寫參數默認是根據文件名查找(-name

    N25第三周視頻博客 find命令詳解

5find各參數詳解

     查找條件可按照文件名、大小、類型、從屬關系、權限等標準進行;

     查找結果:結果只能為布爾型(or

 

根據文件名查找:

-name          

-iname不區分條件的大小寫 (以上都支持通配符)

         *,?、[]、[^]    [[:digit:]] [[alpha]] ….

N25第三周視頻博客 find命令詳解

regex  pattern:基于正則表達式模式查找文件,匹配是整個路徑,而非基名

注:如需使用通配符,請用雙引號

根據文件從屬關系查找:

     -user              查找屬主指定用戶的所有文件;

               -group             查找屬組指定組的所有文件;

     -uid:               查找屬主指定UID的所有文件;

     -gid :              查找屬組指定的GID的所有文件

     -nouser            查找沒有屬主的文件

     -nogroup           查找沒有屬組的文件;

           N25第三周視頻博客 find命令詳解

 

根據文件類型查找:

    -type

        f普通文件

        l符號鏈接文件

        b塊設備文件

        c字符設備

        p管道文件

        s套接字文件

         N25第三周視頻博客 find命令詳解

         N25第三周視頻博客 find命令詳解

 

根據文件大小查找:

     -size  [+|-]#(K,M,G)

         –size  10M   查找10M的文件或文件夾

         -size  +10M  查找大于10M的文件或文件夾

         -size  -10M   查找小于10M的文件或文件夾

     

        N25第三周視頻博客 find命令詳解

           N25第三周視頻博客 find命令詳解

 

根據時間戳查找:

 以天為單位:

  -atime [+ | -]# 查看訪問目錄或文件的時間;

        -atime -7 查看一周內被訪問過的文件或目錄;

 

-mtime [+ | -]#查看修改過文件或目錄的時間;

        -mtime -7查看一周內被修改過的文件或目錄;

 

-ctime [+ | -]# 查看元數據被修改過的目錄或文件的時間;

       -ctime -7 查看一周內元數據被修改過的文件或目錄;

     注:元數據是指一個文件或目錄的權限、從屬關系、時間戳、等相關描素信息。


        N25第三周視頻博客 find命令詳解

 

以分鐘為單位:

 -amin [+ | -]#

 -mmin[+ | -]#

 -cmin [+ | -]#

        N25第三周視頻博客 find命令詳解

 

根據權限查找:

-perm[mode |-mode |/mode]

     mode精確權限查找;八進制權限

    -mode任何每一類用戶(ug,o)的權限每一位(r,w,x)同時符合條件既滿足; 每一類之間是and的關系;

    /mode任何用戶的任意一位u,go)只要符合指定的權限既滿足(/666, 只要任何一位有w or r or x既滿足。)

 

         總結:【注: !代表取反,以2(代表寫入權限)為例:】

               -perm  /222    只要任何一位有w既滿足:

            N25第三周視頻博客 find命令詳解

              !  -perm  -222    只要任何一位沒有w既滿足:    (嘆橫杠只沒)

            N25第三周視頻博客 find命令詳解

             

           !  -perm  /222   所有位都沒有w既滿足         (嘆斜杠所沒)

            N25第三周視頻博客 find命令詳解

              

                 -perm  -222   所有位都有w既滿足

            N25第三周視頻博客 find命令詳解

 

     

      組合測試:

         與: -a 默認組合操作,代表同時滿足   ~]#find /etc/  -name  passwd (-a) -type f

         或:-o:只需滿足其中一個條件

       非: -not

                  

           find  /    ! 條件一  -a  !條件二   =    find  /  ! \(條件一  -o  條件二 \)                 

                 find  /    ! 條件一  -o  !條件二   =    find  /   ! \(條件一  -a  條件二 \)

         以上兩種書寫格式都成立

 

       處理動作:

           -print輸出至標準輸出:默認動作;


           -ls類似于對查找到的文件執行ls –l 命令,輸出文件的詳細;


           -delete刪除查找的文件;

              N25第三周視頻博客 find命令詳解


           -fls  /PATH/TO/SOMEFILE把查找到的所有文件的長格式信息保存至指定文件中;

              N25第三周視頻博客 find命令詳解


           -ok COMMAND {} \; : 對查找到的每個文件執行由COMMAND表示的命令;{}:占位符  (需要用戶確認)

                ~]# find  ./ -nouser -a –nogroup –ok chown root:root {} \;

         -exec COMMAND {} \; 對查找到的每個文件執行又COMMAND表示的命令(無需用戶確認)   

               N25第三周視頻博客 find命令詳解

               N25第三周視頻博客 find命令詳解

原創文章,作者:N25_韓奇洋,如若轉載,請注明出處:http://www.www58058.com/63838

(0)
N25_韓奇洋N25_韓奇洋
上一篇 2016-12-15
下一篇 2016-12-15

相關推薦

  • 0808文本處理作業

                           1 、刪除/etc/grub2.conf 文件中所有以空白開頭的行行首的空白字符。 答:sed  ‘@^[[:space]]\+@@’  /etc/grub2/cf…

    Linux干貨 2016-08-11
  • GRUB管理

    對于運維人員來說,想要熟練掌握linux,那么久要對linux的啟動流程有一個詳細的了解,而今天我們就一起來學習一下linux啟動中最重要的一個階段——GRUB引導階段。 Linux啟動流程 grup: GRand Unified Bootloader  由上圖可知,grub屬于系統啟動過程中一個必須的階段。而這個階段又分為了三個小的階段,分別是s…

    2017-09-02
  • lvs集群搭建

    Linux Cluster: Cluster:計算機集合,為解決某個特定問題組合起來形成的單個系統; Linux Cluster類型:LB:Load Balancing,負載均衡;HA:High Availiablity,高可用;A=MTBF/(MTBF+MTTR)(0,1):90%, 95%, 99%, 99.5%,  99.9%, 99.99%…

    2017-05-09
  • 循環語句for、while、until

    作用:    循環語句的作用是它可以讓一段代碼重復的執行,直到所需條件不滿足為止。 在linux中變量的賦值方式有三種:       第一:直接等于號賦值       第二:通過read交互賦值       第三:for循環的賦值 bash腳本中的循…

    Linux干貨 2016-08-22
  • redis/twemproxy 客戶端連接異常

    對于一個DBA,客戶端連接異常問題可以說是家常便飯的事情,處理多了都想吐。 root cause無疑發生在三個地方,先找自身的原因,依次排查下去: 1)服務器端db的負載,如果負載太高,創建socket太慢引起超時。另外服務器端socket的個數太多,也可以導致創建連接需要很長的時間或者創建連接不成功。 2)網絡是夠有抖動,包括lvs/twemproxy重啟…

    Linux干貨 2015-04-03
  • 五種開源協議的比較(BSD,GPL,LGPL,Apache,BSD)

    BSD開源協議(original BSD license、FreeBSD license、Original BSD license) BSD開源協議是一個給于使用者很大自由的協議。基本上使用者可以”為所欲為”,可以自由的使用,修改源代碼,也可以將修改后的代碼作為開源或者專有軟件再發布。 但”為所欲為”的前提當你發布使用了BSD協議的代碼,或則以BSD協議代碼…

    Linux干貨 2016-01-16
欧美性久久久久