文件查找

文件查找:

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
下一篇 2016-08-15

相關推薦

  • shell腳本編寫-1練習題

    1、編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名,IPv4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小 #!/bin/bash echo “the hostname is:`hostname`” echo “the ip address is:`ifconfig | sed –n ‘2p’ |sed…

    Linux干貨 2016-08-15
  • 第二周部分練習

    (1)用戶管理: 1.創建用戶gentoo,附加組為bin和root,默認shell為/bin/csh,注釋信息為”Gentoo Distribution” 使用id命令查看用戶信息 使用cat命令查看配置文件/etc/passwd 2.創建下面的用戶、組和組成員關系 名字為admins的組 用戶natasha,使用admins作為附…

    2017-07-23
  • GNU awk

    GNU awk:      文本處理三劍客:grep,sed,awk            grep,egrep,fgrep:文本過濾工具;pattern     &nb…

    Linux干貨 2017-05-22
  • 系統啟動及恢復

    一、知識整理 1、modinfo命令:顯示模塊的詳細描述信息: -n 只顯示模塊文件路徑 -p 顯示模塊參數 -a auther -d description -l license協議 modprobe命令:裝載或卸載內核 -r卸載內核,同rmmod 配置文件:/etc/modprobe.d/*.conf depmod命令:內核模塊依賴關系文件及系統信息映射…

    Linux干貨 2016-09-22
  • Linux三劍客之grep伐木累(正則表達式)

    一、Linux文本處理三劍客     Linux上有三種常用的文本處理工具,分別為:grep(egrep、fgrep)、sed、awk。今天主要給大家介紹一下三劍客中的第一劍:grep伐木累。 二、grep是什么?     grep 全稱(Globally search a Re…

    Linux干貨 2016-03-09
  • echo顯示閃爍,screen用法及顯示時間的前后

    我們這門今天學習的一些主要內容 標準的命令的格式 命令(COMMAND)  [選項(OPTIONS)….[參數(ARGUMENTS…)] 選項:啟用或者關閉命令的某個或某些功能 參數:命令作用的對象,比如文件名,用戶名等 首先我們來統計一下學習到的linux的一些基礎的命令 who  查詢當前用戶 hostname 顯…

    Linux干貨 2016-08-04

評論列表(1條)

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

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

欧美性久久久久