文件查找

文件查找:

locate查找:

    locate:
    依賴于事先構建好的索引庫,操作系統剛完成沒有
      系統自動實現(周期性任務);
      手動更新數據庫(updatedb);相當占用系統資源
  工作特性:
      查找速度快
      模糊查找
      非實時查找
    可能只搜索用戶具備讀取和執行權限的目錄
  命令使用格式:
   locate [option] ...pattern....
     -b:只匹配路徑中的基名,不匹配路徑中的
     -c:統計符合條件的數量
     -r:基于基本正則表達式
    -i:忽略大小寫

    簡單例子

    20.png

find查找:

  
  實時查找工具,通過遍歷指定起始路徑下文件系統層=層級結構完成文件查找
         工作特性
         查找速度略慢
         精確查找
         實時查找
    find [option] [查找起始路徑] [查找條件][處理動作] 
    查找路徑:指定具體目標路徑;默認為當前目錄
    
     查找條件:指定的查找標準,可以文件名、大小、類型、權限等標準進行;默認為找出指定路徑下的所有文件
         由選項和測試組成
         測試的實現:根據文件名查找 -name "pattern"|-iname(不區分大小寫)
          pattern:指的是globing風格表達式非正則表達式
          -regex :基于正則表達式模式查找文件,匹配范圍是整個路徑,并非基名
          根據文件的從屬關系找到
          -user username:查找屬主指定用戶的所有文件
          -group group:查找屬組為指定GID的所有文件
          -uid  UID:查找屬主指定的UID的所有文件
          -gid  gid:查找指定屬組的GID的所有文件
          -nouser:沒有屬主的文件(某個文件的屬主被刪除,此文件所屬和主以UID和Gid顯示)
          
          -nogrpup
   
   根據文件類型查找
        -type TYPE:    
        f: 普通文件       
        d: 目錄文件      
        l: 符號鏈接文件        
        s:套接字文件       
        b: 塊設備文件       
        c: 字符設備文件
        p: 管道文件
  
   組合條件:
          與:-a默認組合條件
          或:-o
          非:-not或添加!
    摩根定律:!(A -a B)=!A -o !B
         !(A -o B)=!A -a !B
 
 根據文件大小查找
          -size +|- 大小 單位
          常用單位:K,M,G

    21.png

          

     

 根據時間戳查找:
  以天為單位
  -atime
  #:[#,#-1)
  +#: [#+1 ,∞]
    - #: [0,#)                         
  - mtime
    - ctime                           
 以分鐘為單位
    -amin
  -mnin
  -cmint
 
 根據權限查找
     -perm                             
    mode:精確比配
    /mode:任何一類(u,g,o)符合條件即可
    -mode:每一類都符合條件,如果某一位上設置的為0表示不關注
 
 舉例:
 find - perm 755 會匹配權限模式恰好是755的文件
  只要當任意人有寫權限時, find - perm +222|/222 就會匹配
  只有當每個人都有寫權限時, find - perm - 222才會匹配
  只有當其它人( other)有寫權限時, find - perm - 002才會匹配

  處理動作 

 -print
    -ls
     -delete  :刪除文件
     -fls 路徑:把查找到的文件的詳細信息保存到指定文件中
     -ok 命令 {} \;對找到的每個文件執行命令,執行前會與用戶進行交互,詢問是否操作
     -exec 命令 {} \;對查找到的每個文件執行命令,但是不提醒 {}引用前面找到的文件                      
     注意:find傳遞查找的文件路徑到后面的命令時,先查找所有符合條件的命令,一次傳給后面的命令但是有些命令不能執行過長的參數,此時命令執行會失??;另一個方式會解決
     find |xargs 命令

          

find 命令練習                          

    1、查找/var目錄下最近一周內其內容修改過,同時屬主不為root,也不是postfix的文件
    2、查找當前系統上沒有屬主或屬組,且最近一個周內曾被訪問過的文件
    3、查找/etc目錄下大于1M且類型為普通文件的所有文件
    4、查找/etc目錄下所有用戶都沒有寫權限的文件
    5、查找/etc目錄下至少有一類用戶沒有執行權限的文件
    6、查找/etc/init.d目錄下,所有用戶都有執行權限,且其它用戶有寫權限的文件
    7、查找/etc/下所有的.conf文件,但是不搜索/etc/sane.d文件

     一、

    1.png

     

    二、                                    

    QQ截圖20160815094012.png

    三、                     

    

     3.png            

    四、

     5.png

    

    五、

    6.png

    

    六、

    7.png

    7、

    [root@centos7 ~]# find /etc -path /etc/sane.d -a -prune -o -name  "*.conf" 

    

    

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

(0)
wangnannanwangnannan
上一篇 2016-08-15 12:07
下一篇 2016-08-15 12:10

相關推薦

  • LVS類型及其調度算法

    LVS類型:     NAT:–>(DNAT) (多目標的DNAT)     DR:     TUN:     FULLNAT: LVS NAT的特性  &nbs…

    Linux干貨 2016-10-29
  • Nginx 編譯安裝

    Nginx (“engine x”) 是一個高性能的 HTTP 和 反向代理服務器,也是一個 IMAP/POP3/SMTP 代理服 1、Apache服務器和nginx的優缺點: Apache具有很優秀的性能,而且通過模塊可以提供各種豐富的功能。 1)首先Apache對客戶端的響應是支持并發的 ,運行httpd這個daemon進程之后,它會同時產生多個子進程/…

    Linux干貨 2017-02-06
  • HTTP詳解(2)-請求、響應、緩存

    1. HTTP請求格式              做過Socket編程的人都知道,當我們設計一個通信協議時,“消息頭/消息體”的分割方式是很常用的,消息頭告訴對方這個消息是干什么的,消息體告訴對方怎么干。HTTP協議傳輸的消息也是這樣規定的…

    Linux干貨 2015-04-04
  • varnish淺述

    安裝varnish,安裝包需要到官網下載http://www.varnish-cache.org/releases/index.html varnish的程序環境: /etc/varnish/varnish.params:配置varnish服務進程的工作特性,例如監聽的地址、端口及緩存機制等; /etc/varnish/default.vcl:配置各Chil…

    2016-11-15
  • N28-第二周

    1. Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
    2. bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
    3. 請使用命令行展開功能來完成以下練習:
    (1) 創建/tmp目錄下的a_c、a_d、b_c、b_d。
    (2) 創建/tmp/mylinux目錄下的bin、boot/grub、dev、etc/rc.d/init.d、etc/sysconfig/network-scripts、lib/modules、
    lib64、proc、sbin、sys、tmp、usr/local/bin、usr/local/sbin、var/lock、var/log、var/run目錄。
    4. 如何查看文件的元數據,其信息有哪些,分別表示什麼含意?如何修改文件的時間戳信息?
    5. 如何定義一個命令的別名?如何在命令中引用另一個命令的執行結果?
    6. 顯示/var目錄下所有以L小寫開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
    7. 顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
    8. 顯示/etc目錄下,以非字母開頭,後面跟了一個字母以及其他任意長度任意字符的文件或目錄。
    9. 在/tmp目錄下創建以tfile開頭,後跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
    10. 複製/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
    11. 複製/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
    12. 複製/etc目錄下所有以L小寫或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。

    Linux干貨 2017-12-14
  • Linux的終端類型

    一、了解終端   在早期的年代,主機不是很多,都是一系列的大型主機,簡單來說就是用戶很多,但主機很少,不可能做到人手一臺,但可以在主機上連接一個分屏器,在分屏器上可以連接鼠標鍵盤以及顯示器,這些東西是沒有計算能力的,僅僅擔任輸入和輸出的工作,運算和處理都是由主機來完成的。   簡單來說終端是用戶與主機交互,是必然用到的…

    Linux干貨 2016-10-14

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-19 11:06

    find命令是筆試中常見的考點,同時find的處理動作也是很重要的,希望課后能多加練習,熟練掌握。

欧美性久久久久