find命令用法及示例

find:用於在目錄層次結構中搜索文件。


簡介:find [options] [path...] [expression]


    expression:[options] [tests] [actions]


        tests:測試條件


            -name pattern:根據文件名查找文件。

            -iname pattern:與-name類似,不區分大小寫。

            -regex pattern:通過正則表達式匹配文件的完整路徑名稱。

            -user uname:查找屬主爲uname的文件,可使用uid。

            -group gname:查找屬組爲gname的文件,可使用gid。

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

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

            -type c:根據文件的類型進行查找。

                b:塊設備

                c:字符設備

                d:目錄

                p:管道

                f:常規文件

                l:符號鏈接

                s:套接字

            -size [+|-]n:指定查找文件的大小,常用單位:k,M,G。

            -atime [+|-]n:以天爲單位,指定查找文件的訪問時間。

            -mtime [+|-]n:以天爲單位,指定查找文件的修改時間。

            -ctime [+|-]n:以天爲單位,指定查找文件的改變時間。

            -amin [+|-]n:以分鐘爲單位,指定查找文件的訪問時間。

            -mmin [+|-]n:以分鐘爲單位,指定查找文件的修改時間。

            -cmin [+|-]n:以分鐘爲單位,指定查找文件的改變時間。

            -perm [/|-]mode:查找指定權限的文件。

                mode:精確權限匹配。

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

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


        actions:處理動作


            -print:將查找到的文件名輸出至標準輸出,爲默認動作。

            -ls:在標準輸出上以ls -dils格式列出當前文件。

            -delete:刪除文件。

            -fls file:類似-ls,只是將內容輸出到指定文件中。

            -exec command {} \;:將查找到的文件做爲參數,執行command處的命令。

            -ok command {} \;:和-exec類似,執行命令前提示用戶。


        operators:運算符


            ! expr:非運算,如果expr爲真,則爲假。

            expr1 -a expr2:與運算,expr1和expr2都爲真,則爲真,默認運算方式。

            expr1 -o expr2:或運算,expr1或expr2爲真,則爲真。


示例


    find /tmp -name core -type f -print | xargs /bin/rm -f

    查找/tmp目錄下文件名爲core的普通文件並刪除。


    find . -type f -exec file {} \;

    查找當前目錄下的所有普通文件並對找到的每個文件執行file命令。


    find $HOME -mtime 0

    查找用戶家目錄下1天之內修改過的文件。


    find . -perm 664

    查找當前目錄下權限爲664的所有文件。


    find . -perm -664

    查找當前目錄下權限大於等於664的所有文件。


    find . -perm /222

    查找當前目錄下屬主、屬組和其他人中任一用戶有寫入權限的文件。


    find . -perm -444 -perm /222 ! -perm /111

    查找當前目錄下所有用戶都有讀權限,屬主、屬組和其他人中任一用戶有寫權限,所有人都沒有執行權限的文件。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章