find命令詳解

find命令是用來在給定的目錄下查找符合給定條件的文件

  find [OPTIONS] [查找起始路徑] [查找條件] [處理動作]

  一、OPTIONS參數

    -P、-L、-H:控制軟連接的對待方式,用的不多。不介紹了

  二、查找路徑

    就是個目錄路徑,相對和絕對都可以。

  三、查找條件

   ?。ㄒ唬⒏鶕Q查找

      -name "PATERN"

      -iname "PATERN" :不區分名稱字母大小寫

      find命令詳解

 

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

      find命令詳解

 

    (二)、根據文件從屬關系查找:

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

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

 

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

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

 

        find命令詳解

 

        -nouser:查找沒有屬主的文件;

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

        find命令詳解

   ?。ㄈ?、根據文件的類型查找:

      -type:根據不同的文件類型篩選

      

f 普通文件
d 目錄文件
l 符號鏈接文件
b 塊設備 文件
c 字符設備文件
p 管道文件
s 套接字文件

 

            find命令詳解

 

   ?。ㄋ模⒏鶕募拇笮〔檎遥?/p>

        -size [+|-]#UNIT

          常用單位:k, M, G

            #UNIT:(#-1, #]

            -#UNIT:[0,#-1]

            +#UNIT:(#, oo)

            find命令詳解

            1、1k時:a3只有15個字節,也被算做1k也查詢,即條件符合大于0k ( #-1 ),小于等于1k (#)

            2、+1k時:a和a1滿足大于1k(#)的條件

            3、-62k時:只有a3滿足大于等于0,小于等于 61k(#-1)的要求。

 

   ?。ㄎ澹?、 根據時間戳查找:

        按照atime(文件的最后訪問時間)、mtime(文件的最后修改時間)、ctime(文件最后改變時間)三個變量來查詢:

          以天為單位,

          -atime [+|-]#

              #:[#, #-1) :最后訪問時間在#天前(大于等于#天前,小于#-1天前)

                    等價于最后訪問時間與當前的時間差 大于 (#-1)*24小時,小于等于 #*24小時

              -#:(#, 0] :最后訪問時間在#天以內,不包括24小時前的那一刻。

                    等價于最后訪問時間與當前的時間差小于 #*24小時

              +#:(oo, #-1] :最后訪問時間在#-1天以前的。包括#-1天前

                    等價于最后訪問時間與當前的時間差大于等于 #*24小時

                  -mtime

                  -ctime

 

      find命令詳解

 

    以“分鐘”為單位:

        -amin

        -mmin

        -cmin

 

    -daystart:時間條件的開始先決條件。如果沒有的時候,比較的開始時間為當前時間。如果有此參數,則比較的開始時間為當天的23:59:59。

    find命令詳解

 

    查詢出來的各個文件名稱對應時間如下:

    find命令詳解

 

文件名 修改時間
服務器當前時間 09/08 17:34
a 09/08 17:20
b 09/07 12:20
c 09/08 13:20
d 09/07 22:20

 

    find命令詳解

 

    find命令詳解

 

 

   ?。⒏鶕嘞薏檎?/p>

        -perm

        -perm [/|-]mode

          mode:精確權限匹配;

          /mode:任何一類用戶(u,g,o)的權限中的任何一位(r,w,x)符合條件即滿足;9位權限之間存在“或”關系;

          -mode:每一類用戶(u,g,o)的權限中的每一位(r,w,x)同時符合條件即滿足。9位權限之間存在“與”關系;

          看案例:

          find命令詳解

            

          (1):精確查找。就是匹配權限值完全相等的;

          find命令詳解

 

         ?。?):/mode。 只要有一組用戶匹配到一個權限即可。

          通俗說:就是屬主擁有給定屬主權限的某一個,或者數組擁有給定權限的某一個,或者其他用戶擁有給定權限的某一個即可。

          find命令詳解

          表示屬主擁有執行權限

          或者數組擁有寫權限,

          或者其他用戶擁有寫權限

 

         ?。?):-mode。并且的關系。

          通俗說:就是給定的屬主權限必須擁有。并且給定的數組權限必須擁有。并且給定的其他用戶權限必須擁有。

 

          find命令詳解

          表示屬主擁有執行權限

          并且數組擁有寫權限,

          并且其他用戶擁有寫權限

 

        處理動作:

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

          -ls:類似于對查找到的文件執行“ls -l”命令,輸出文件的詳細信息;

          -delete:刪除查找到的文件;

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

          -ok COMMAND {} \; :對查找到的每個文件執行由COMMAND表示的命令;每次操作都由用戶進行確認;

          -exec COMMAND {} \; :對查找到的每個文件執行由COMMAND表示的命令;

 

          注意:find傳遞查找到的文件路徑至后面的命令時,是先查找出所有符合條件的文件路徑,并一次性傳遞給后面的命令;

 

            但是有些命令不能接受過長的參數,此時命令執行會失??;另一種方式可規避此問題:

             find | xargs COMMAND

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

(0)
小江小江
上一篇 2016-09-19
下一篇 2016-09-19

相關推薦

  • samba應用

    samba詳解 前言 前面學過了NFS,是一個網絡文件系統,可以讓遠程連接像訪問本地文件一樣,在同一個網絡上的多個用戶間共享目錄和文件系統。只不過NFS只是針對于兩個linux主機,我們現在需要linux主機和windows主機都能共享,這個時候就用到了samba。 1、步驟,允許個別用戶訪問 1、安裝下面三個包: samba samba-common sa…

    Linux干貨 2016-12-21
  • linux終端類型

    終端分為:             ∟  物理終端         定義:可將顯示器,鍵盤,鼠標直接接入主機接口的終端;     &nbsp…

    Linux干貨 2016-10-18
  • CentOS系統啟動流程

        Linux系統的組成部分   1、動態視角:內核+根文件系統  2、靜態視角:磁盤分區+文件 Linux運行中的系統環境   1、用戶空間:應用程序(進程或線程)  2、內核空間:內核代碼(系統調用) 內核設計流派:   *單內核設計:把所有功能集成于同一個程序,如:Linux  *微內核設計:每種功能使用一個單獨的子系統實現,如…

    Linux干貨 2016-12-30
  • RPM包管理功能全解?!镜谌堋?

    CentOS系統上rpm命令管理程序包: 安裝、升級、卸載、查詢、校驗、數據庫維護 rpm命令:rpm [OPTIONS] [PACKAGE_FILE]     安裝:-i, –install     升級:-U, –update,&n…

    Linux干貨 2016-11-26
  • 馬哥教育30期學員開學典禮

    ? ?? 早上背上書包去學校報到,很有一番學生時期去新學校的感覺,既興奮又緊張,一段新的人生歷程即將開始。 ? ?? 大學時曾經勸說我的同學別逃選修課,我說也許你苦學四年的專業比不上一節選修課對你的將來更有用,如今我卻用親身經歷驗證了這句話,我是通過大學的一堂選修課了解的Linux系統,開源軟件,沒想到多年后今天的我竟然也要入這行了。 ? ? ? 到教室后,…

    2018-03-26
  • SSH原理與運用:遠程登錄

    如果本地用戶名與遠程用戶名一致,登錄時可以省略用戶名。 1 $ ssh host SSH的默認端口是22,也就是說,你的登錄請求會送進遠程主機的22端口。使用p參數,可以修改這個端口。 1 $ ssh –p 2222 user@host 上面這條命令表示,ssh直接連接遠程主機的2222端口。 三、中間人攻擊 SSH之所以能夠保證安全,原因在于它…

    Linux干貨 2017-08-14
欧美性久久久久