第七課 文件查找find命令、文件特殊權限、while和until循環

課程內容linux

    一、文件查找之find命令詳解
數據庫

    二、文件特殊權限詳解
ide

    三、linux中的任務計劃實現詳解
ui

    四、facl及while和until循環
spa


1、文件查找:根據文件各類屬性找到相對應文件的過程。orm

        文本搜索:文件查找和文本搜索的區別是什麼? 
索引

        grep,egrep,fgrep 這些是字符串的匹配的查找,原本grep是不能找文件自己的。grep集合管資源

        道來實現文件查找。
字符串

        文件查找:locate,find 
it

            

            非實時查找:根據數據庫或者索引來查找 (locate),依賴於索引,而索引構建至關                       佔用資源,索引的建立是在系統空閒是有系統自動進行(天天執行的任務);

                    手動執行使用updatedb命令。查找速度快,非精準查找。

            

            實時查找:遍歷全部文件進行條件匹配 (find)

                      精準查找、精確匹配、速度慢

            find [option]...[查找路徑][查找條件][處理動做]

                 查找路徑:默認爲當前目錄

                 查找條件:默認爲指定路徑下的全部文件

                 處理動做:默認爲顯示在屏幕          

                    查找條件:-name"文件名稱":支持使用globbing字符(*、?、[]、[^])

                              -iname"文件名稱":支持globbing,忽律字符大小寫

                              -user username:根據文件的屬主查找

                              -group groupname :根據文件的屬組查找

                              -UID -GID:根據用戶ID號查找

                    注意:刪除一個用戶後,其屬主、屬組還有ID號,可使用UID GID查找。

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

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

                  組合條件查找:與:-a 同時知足,或:-o 知足一個條件,非:-not,!,條件取反

                    -not A -a -not B = -not (A -o B)

                    -not A -o -not B = -not (A -a B)

           舉例:find /etc -not -user root -a -name "p*[0-9]*" -ls  ;find /etc -user root


         根據文件類型查找:-type TYPE

                    f:普通文件

                    d:目錄文件

                    l:符號連接

                    b:塊設備

                    c:字符設備

                    s:套接字文件

                    p:命名管道

            

         -size [+|-]#UNIT   經常使用單位: k, M, G

        #UNIT: #-1 < x <= #

        -#UNIT: x <= #-1

        +#UNIT: x > #


        根據時間戳查找:以「天」爲單位

        -atime [+|-]#

        +#:x >= #+1

        -#:x < #

        #: # <= x < #+1 

        -mtime

        -ctime


        以「分鐘」爲單位 

        -amin

        -mmin

        -cmin


        根據權限查找:

        -perm [+|-]MODE

        MODE: 與MODE精確匹配

        find ./ -perm 644

        +MODE: 任何一類用戶的權限只要能包含對其指定的任何一位權限便可;以屬主爲例,

        find ./ -perm +222

        -MODE:每類用戶指定的檢查權限都匹配:

        爲三類用戶全部指定的檢查權限都可以被包含

        find ./ -perm -222


        處理動做:

        -print: 默認處理動做,顯示

        -ls:相似於ls -l

        -exec COMMAND {} \;

        -ok COMMAND {} \;


        find: 一次性查找符合條件的全部文件,並一同傳遞給給-exec或-ok後面指定的命令;但,有些命令不能接受過長的參數;此時使用另外一種方式


        find | xargs COMMAND


    總結:find [查找路徑] [查找條件] [處理動做]

    查找條件:

-name, -iname, -user, -group, -uid, -gid, -nouser, -nogroup, -type, -size, -atime, -mtime, -ctime, -amin, -mmin, -cmin, -perm

組合:-a, -o, -not

相關文章
相關標籤/搜索