文件查找(Find和Locate)常用用法及摩根定律趣解(重要)

文件查找(Find和Locate)常用用法及摩根定律趣解(重要)

摩根定律:

非(A 且 B)=(非 A)或(非 B)

非(A 或 B)=(非 A)且(非 B)

這樣看起來不是很好理解下面通過一些列圖片給大家展示; 
圖(1) 文件查找(Find和Locate)常用用法及摩根定律趣解(重要) 圖(2) 文件查找(Find和Locate)常用用法及摩根定律趣解(重要)

圖二中的黑色就A且B,A且B的反面三種情況(如圖1)即為(非A)或(非B)。因此非(A且B)和(非A)和(非B)等價。這既是摩根定律

文件查找:

Linux常用的文件查找一共兩種,他們都有各自的優勢; locate, find 
非實時查找(數據庫查找):locate 
實時查找:find

locate: 依賴于事先構建的索引;索引的構建是在系統較為空閑時自動進行(周期性任務);手動更新數據庫(updatedb); 
索引構建過程需要遍歷整個根文件系統,極消耗資源(建議在空閑時候進行操作,務必注意); 工作特點: 
 1.查找速度快; 
 2.模糊查找; 
 3.非實時查找; 
 4.支持通配符     
常用用法:locate KEYWORD 
e.g.文件查找(Find和Locate)常用用法及摩根定律趣解(重要)

locate的精確查找

文件查找(Find和Locate)常用用法及摩根定律趣解(重要)

locate的通配符用法

文件查找(Find和Locate)常用用法及摩根定律趣解(重要)

locate的正則表達式用法

文件查找(Find和Locate)常用用法及摩根定律趣解(重要)

find:實時查找工具,通過遍歷指定路徑下的文件系統完成文件查找;

  1.工作特點: 
  2.查找速度略慢; 
  3.精確查找; 
  4.實時查找;

    語法:
        find [OPTION]... [查找路徑] [查找條件] [處理動作]
            查找路徑:指定具體目標路徑;默認為當前目錄;
            查找條件:指定的查找標準,可以文件名、大小、類型、權限等標準進行;默認為找出指定路徑下的所有文件;
            處理動作:對符合條件的文件做什么操作;默認輸出至屏幕;

常用選項

–P   這是默認的行為。當遇到鏈接文件時,查找條件匹配的是符號鏈接本身的屬性。

-L    當遇到鏈接文件時,追尋鏈接文件的目標進行查找。查找條件匹配的是目標文件的屬性。 

-Olevel    查詢優化。優化level分0-3四個等級。
根據文件名查找:
    -name "文件名稱":支持使用glob       
    *, ?, [], [^]      
    -iname "文件名稱":不區分字母大小寫

文件查找(Find和Locate)常用用法及摩根定律趣解(重要)

-regex "PATTERN":以PATTERN匹配整個文件路徑字符串,而不僅僅是文件名稱;

文件查找(Find和Locate)常用用法及摩根定律趣解(重要)

根據屬主、屬組查找:
                    -user USERNAME:查找屬主為指定用戶的文件;
                    group GRPNAME: 查找屬組為指定組的文件;

                    -uid UserID:查找屬主為指定的UID號的文件;
                    -gid GroupID:查找屬組為指定的GID號的文件;

                    -nouser:查找沒有屬主的文件;
                    -nogroup:查找沒有屬組的文件;
根據文件類型查找:

文件查找(Find和Locate)常用用法及摩根定律趣解(重要)-type TYPE:

        f: 普通文件
        d: 目錄文件
        l: 符號鏈接文件
        s:套接字文件
        b: 塊設備文件
        c: 字符設備文件
        p: 管道文件
組合條件:
        與:-a
        或:-o
        非:-not, !
        !A -a !B = !(A -o B)
        !A -o !B = !(A -a B)

文件查找(Find和Locate)常用用法及摩根定律趣解(重要)

根據文件大小來查找:
            -size [+|-]#UNIT
            常用單位:k, M, G
            #UNIT: (#-1, #]
            -#UNIT:[0,#-1]
            +#UNIT:(#,oo)

文件查找(Find和Locate)常用用法及摩根定律趣解(重要)

根據時間戳:
    以“天”為單位;
    -atime [+|-]#,  
    #: [#,#+1)
    +#: [#+1,oo]
    -#: [0,#)
    -mtime
    -ctime
    以“分鐘”為單位:
    -amin
    -mmin
    -cmin

文件查找(Find和Locate)常用用法及摩根定律趣解(重要)

根據權限查找:(需先將摩根定律理解)
    -perm [/|-]MODE
    MODE: 精確權限匹配
    /MODE:任何一類(u,g,o)對象的權限中只要能一位匹配即可;
    -MODE:每一類對象都必須同時擁有為其指定的權限標準;

文件查找(Find和Locate)常用用法及摩根定律趣解(重要)文件查找(Find和Locate)常用用法及摩根定律趣解(重要)

-inum N 按 inode 號查找
-samefile FILENAME 相同 inode 號的文件
-links N 鏈接數為 n 的文件

文件查找(Find和Locate)常用用法及摩根定律趣解(重要)

            處理動作:
                -print:默認的處理動作,顯示至屏幕;
                -ls:類似于對查找到的文件執行“ls -l”命令;
                -delete:刪除查找到的文件;
                -prune :忽略目錄
                e.g. fing /etc -path /var/log -a -prune -o -size 10k -a print 
                -fls /path/to/somefile:查找到的所有文件的長格式信息保存至指定文件中;
                -ok COMMAND {} \; 對查找到的每個文件執行由COMMAND指定的命令;
                    對于每個文件執行命令之前,都會交互式要求用戶確認;
                -exec COMMAND {} \; 對查找到的每個文件執行由COMMAND指定的命令; 
                    {}: 用于引用查找到的文件名稱自身;

                注意:find傳遞查找到的文件至后面指定的命令時,查找到所有符合條件的文件一次性傳遞給后面的命令;
                有些命令不能接受過多參數,此時命令執行可能會失??;另一種方式可規避此問題:
                    find | xargs COMMAND

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

(0)
fighterfighter
上一篇 2016-08-21
下一篇 2016-08-21

相關推薦

  • lvs-DR模型構建高性能集群

    構建環境:centos7.1     Diretor server:172.16.15.131  (  VIP:172.16.15.138 )     Real server:172.16.15.132/133      配置163源 拓撲…

    Linux干貨 2016-08-22
  • 第三周作業

    1.列出當前系統上所有已經登錄的用戶名,同一個用戶登錄多次,只顯示一次 [root@localhost ~]# who |awk '{print $1}'|sort -u root 2.取出最后登錄到當前系統的用戶的相關信息 [root@localhost ~]#&nb…

    Linux干貨 2016-12-13
  • 馬哥教育網絡班20期+第六周課程練習

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#;     cp /etc/rc.d/rc.sysinit  /tmp   &n…

    Linux干貨 2016-10-19
  • Linux文本處理工具

    知識框架圖 學習筆記 查看文本 查看文本內容 cat -A:顯示控制符 -E:顯示行結束符$ -n:打印行號,顯示空行 -b:打印行號,空行不編號 -s:壓縮連續空白行 tac:反向查看文件內容 rev:文本每行倒序顯示 分頁查看 more less 查看文件頭尾內容 head -c:前n個字節 -n:前n行 tail -c -n -f:跟蹤顯示文件變化,?!?/p>

    2018-03-17
  • btrfs文件系統

                                                      &nbsp…

    Linux干貨 2015-08-21
  • 關于nginx狀態監控字段的個人見解(求真相)

    今天看到了馬哥視頻其中一節對nginx狀態監控信息的介紹,對視頻ppt上的監控字段解析產生了一些疑問,ppt內容如下: active connections – 活躍的連接數量server accepts handled requests — 總共處理了xxx個連接 , 成功創建xxx次握手, 總共處理了xxx個請求reading — 讀取客戶端的連接數.w…

    Linux干貨 2016-07-12

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-22 10:03

    后面的博客需要認真完成哦

欧美性久久久久