<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Linux文件查找工具find全解讀

    時間:2024-08-14 22:53:35 Linux認(rèn)證 我要投稿
    • 相關(guān)推薦

    Linux文件查找工具find全解讀

      一、文件查找工具常用軟件

      locate:

      locate命令其實是find -name的另一種寫法,但是要比后者快得多,原因在于它不搜索具體目錄,而是搜索一個數(shù)據(jù)庫/var/lib/locatedb,這個數(shù)據(jù)庫中含有本地所有文件信息。Linux系統(tǒng)自動創(chuàng)建這個數(shù)據(jù)庫,并且每天自動更新一次,所以使用locate命令查不到最新變動過的文件。為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動更新數(shù)據(jù)庫。

      find:

      find命令用來在指定目錄下查找文件,通過遍歷指定的目標(biāo)目錄,實時查找符合指定屬性的文件。可以結(jié)合正則表達(dá)式(REGular EXPressio)來匹配模式。

      二、軟件常用參數(shù)及使用方式

      locate:

      使用格式:locate [OPTION]… PATTERN…

      常用參數(shù):

      -i:忽略大小寫

      實例:

      過濾/etc/下以sh開頭的文件

      # locate /etc/sh

      /etc/shadow

      /etc/shadow-

      /etc/shells

      find:

      find [OPTIONS] [查找路徑] [查找條件] [處理動作]

      查找路徑:默認(rèn)為當(dāng)前路徑;

      查找條件:默認(rèn)為指定路徑下的所有文件;

      處理動作:默認(rèn)為打印至屏幕;

      1、查找路徑

      默認(rèn)為當(dāng)前路徑,可以指定系統(tǒng)內(nèi)的任意路徑,但不建議使用/

      2、查找條件

      (1)基本查找條件

      a、用戶、用戶組及文件名查找

      -name “文件名”:文件名支持使用globbing

      glob:文件名通配;快速引用多個文件;文件名整體匹配度檢測;

      元字符:基于元字符可編寫匹配模式(pattern);

      *:匹配任意長度的任意字符;

      ?:匹配任意單個字符;

      [ ]:匹配指定集合內(nèi)的任意單個字符;

      [a-z], [A-Z]:不區(qū)分字符大小寫;

      [0-9]

      [a-z0-9]

      [[:upper:]]:所有大寫字母;

      [[:lower:]]:所有小寫字母;

      [[:digit:]]:所有的數(shù)字;

      [[:alpha:]]:所有字母;

      [[:alnum:]]:所有字母和數(shù)字;

      [[:space:]]:空白字符;

      [[:punct:]]:標(biāo)點符號;

      [^ ]:匹配指定集合外的任意單個字符;

      實例:

      # find /etc -name "passwd*"

      -iname “文件名” 不區(qū)分大小寫

      實例:

      # find /tmp -iname "*yum*"

      /tmp/yum.log

      /tmp/YUM.LOG

      # find /tmp -name "*yum*"

      /tmp/yum.log

      -user USERNAME:根據(jù)屬主查找

      -group USERNAME:根據(jù)屬組查找

      實例:

      # find /var -user root -o -group mail

      -uid UID:根據(jù)指定UID查找

      -gid GID:根據(jù)指定GID查找

      實例:

      # find /tmp -uid 3323 -ls

      2346806 0 -rw-rw-r-- 1 mageedu mageedu 0 Mar 10 09:36 /tmp/mageedu

      2346812 0 -rw-rw-r-- 1 mageedu mageedu 0 Mar 10 09:36 /tmp/testfile

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

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

      -nouser與-nogroup參數(shù)主要用在當(dāng)公司員工離職后,雖然賬戶刪除,但是他所有權(quán)限的文件還存在,并且以UID的形式來標(biāo)識屬主與屬組,既當(dāng)有uid有這個用戶相同時就會可以查看此文件,所以需要刪除此類文件。

      實例:

      # find /tmp -nouser -nogroup -ls

      2346806 0 -rw-rw-r-- 1 3323 3323 0 Mar 10 09:36 /tmp/mageedu

      2346812 0 -rw-rw-r-- 1 3323 3323 0 Mar 10 09:36 /tmp/testfile

      b、文件類型查找

      -type TYPE: 根據(jù)文件類型查找

      f: 普通文件

      d: 目錄文件

      l: 符號鏈接文件

      b: 塊設(shè)備

      c: 字符設(shè)備文件

      p: 命令名管道文件

      s: 套接字文

      實例:

      # find /tmp -type d -ls

      c、文件大小

      -size [+|-]#UNIT:

      常用單位有:k, M, G

      #UNIT: #-1

      2k指1k-2k

      -#UNIT:x

      -2k:指0k-1k

      +#UNIT: x > #

      +2k:指2k到正無窮

      實例:

      # find /etc/ -type f -size +1

      d、時間戳查找

      以“天”為單位

      -atime [+|-]#

      -mtime [+|-]#

      -ctime [+|-]#

      #: 例如:今天為3月10日,3就是3月7日到3月8日(注意天是24小時制)

      -#: 例如:今天為3月10日,-3就是三天內(nèi)指,3月7日的現(xiàn)在時間到現(xiàn)在的時間。

      +#: 例如:今天為3月10日,+3就是三天前之前指,3月7日前

      以“分鐘”為單位

      -amin [+|-]#

      -mmin

      -cmin

      實例:

      # find /etc -not -user root -not -user hadoop -mtime -7

      # find / -nouser -nogroup -atime -3

      e、權(quán)限查找

      根據(jù)權(quán)限查找:

      -perm [+|-]MODE

      MODE: 與MODE精確匹配

      +MODE:任何一類用戶的權(quán)限只要能包含對其指定的任何一位權(quán)限即可;

      -MODE:每一類用戶的權(quán)限都包含對其指定的所有權(quán)限;

      #這里是指包含,例如:-444 指在屬主、屬組、其他用戶中只要包含讀權(quán)限就可以。

      實例:

      # find /etc/init.d/ -perm -113 #此處指所有用戶都有執(zhí)行權(quán)限,其他用戶有寫權(quán)限的文件或目錄

      # find /etc/ -type f -not -perm +222 #此處指所有用戶都沒有寫權(quán)限

      (2)組合查找條件

      組合查找條件:

      與:-a, 查找條件1 -a 查找條件2 -a …

      所有條件必須同時滿足

      或:-o, 查找條件1 -o 查找條件2 -o …

      滿足其中一個條件即可

      非:-not, !

      -not 查找條件

      實例:

      # find / ( -nouser -o -nogroup ) -a -atime -3

      # find /etc/ -not ( -user root -o -user hadoop ) -a -mtime -7

      3、處理動作

      -print: 默認(rèn)動作,打印至屏幕;

      -ls: 顯示找到的文件的詳細(xì)屬性;

      -exec COMMAND {} ;

      -ok COMMAND {} ;

      #exec與ok的區(qū)別:ok會提供交互式,讓你確認(rèn)。而exec則不需要;

      實例:

      # find /tmp -iname "*yum*" -type f -ls

      134 0 -rw-r--r-- 1 root root 0 Mar 10 09:32 /tmp/yum.log

      137 0 -rw-r--r-- 1 root root 0 Mar 10 09:32 /tmp/YUM.LOG

      # find /tmp -iname "*yum*" -type f -exec ls -l {} ;

      -rw-r--r-- 1 root root 0 Mar 10 09:32 /tmp/yum.log

      -rw-r--r-- 1 root root 0 Mar 10 09:32 /tmp/YUM.LOG

      # find /tmp -iname "*yum*" -type f -exec echo {} >>/tmp/test.file ;

      # find /tmp -iname "*yum*" -type f -ok echo {} >>/tmp/test.file \;

      ? y

      ? y

    【Linux文件查找工具find全解讀】相關(guān)文章:

    Linux文件查找命令find和xargs詳解09-29

    Linux文件系統(tǒng)簡介06-01

    Linux下程序的Profile工具01-24

    Linux忽略大小寫查找技巧08-12

    常用的Linux網(wǎng)絡(luò)工具08-02

    linux下etc/fstab文件的簡介10-23

    Linux btrfs文件系統(tǒng)及管理07-31

    Linux概念架構(gòu)解讀201610-15

    Linux文件系統(tǒng)操作命令大全07-03

    Linux中的more命令解讀202405-06

    主站蜘蛛池模板: 中文字幕乱码中文乱码51精品 | 国产成人精品曰本亚洲79ren| 亚洲综合精品网站在线观看| 91精品在线国产| jizz国产精品网站| 亚洲国产精品va在线播放 | 四虎在线精品视频一二区| 国产午夜无码精品免费看| 亚洲午夜国产精品无码| 日韩美女18网站久久精品| 国产精品男男视频一区二区三区| 国产精品后入内射日本在线观看| 骚片AV蜜桃精品一区| 正在播放国产精品每日更新| 午夜精品久久久久久| 青青热久久国产久精品| 精品欧美一区二区在线观看| 国产精品成人啪精品视频免费| 91精品一区二区综合在线 | 精品一区二区三区四区在线| 国产福利电影一区二区三区,亚洲国模精品一区 | 国产精品夜色一区二区三区 | 成人无码精品1区2区3区免费看| 欧美 日韩 精品 另类视频| 国产高清在线精品一区小说| 久久精品www| 欧洲精品视频在线观看| 国产欧美久久久精品| 久久99国产精品久久| 久久亚洲精品视频| 久久免费精品视频| 一级香蕉精品视频在线播放| 亚洲国产精品久久久久| 亚洲视频精品在线| 欧美一卡2卡3卡四卡海外精品| 久久se精品一区精品二区| 亚洲精品高清视频| 国产精品污WWW一区二区三区| 国产在线精品福利大全| 久久青青草原精品国产软件| 四虎精品影库4HUTV四虎|