日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

Linux文件查找工具之find “大宝剑”--转载

發(fā)布時(shí)間:2025/4/5 linux 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux文件查找工具之find “大宝剑”--转载 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原文地址:http://xinzong.blog.51cto.com/10018904/1749465

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

locate:

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

find:

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

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

?

locate:

????使用格式:locate [OPTION]... PATTERN...

????????常用參數(shù):

????????????-i:忽略大小寫

?

????????實(shí)例:

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

1 2 3 4 #?locate?/etc/sh /etc/shadow /etc/shadow- /etc/shells

find:
? ? find [OPTIONS] [查找路徑] [查找條件] [處理動(dòng)作]

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

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

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

1、查找路徑

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

2、查找條件

(1)基本查找條件

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

-name "文件名":文件名支持使用globbing

????glob:文件名通配;快速引用多個(gè)文件;文件名整體匹配度檢測(cè);

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

????*:匹配任意長(zhǎng)度的任意字符;

?????:匹配任意單個(gè)字符;

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

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

[0-9]

[a-z0-9]

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

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

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

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

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

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

????[[:punct:]]:標(biāo)點(diǎn)符號(hào);

????????????[^ ]:匹配指定集合外的任意單個(gè)字符;

?

實(shí)例:

1 #?find?/etc?-name?"passwd*"

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

?

實(shí)例:

1 2 3 4 5 #?find?/tmp?-iname?"*yum*" /tmp/yum.log /tmp/YUM.LOG #?find?/tmp?-name?"*yum*" /tmp/yum.log

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

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

?

實(shí)例:

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

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

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

?

實(shí)例:

1 2 3 #?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的形式來(lái)標(biāo)識(shí)屬主與屬組,既當(dāng)有uid有這個(gè)用戶相同時(shí)就會(huì)可以查看此文件,所以需要?jiǎng)h除此類文件。

?

實(shí)例:

1 2 3 #?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: 符號(hào)鏈接文件

b: 塊設(shè)備

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

p: 命令名管道文件

s: 套接字文

實(shí)例:

1 #?find?/tmp?-type?d?-ls

c、文件大小

?

????-size [+|-]#UNIT:

常用單位有:k, M, G

#UNIT: #-1 < x <= #

????????????2k指1k-2k

-#UNIT:x <= #-1

????-2k:指0k-1k

????????+#UNIT: x > #

????+2k:指2k到正無(wú)窮

?

實(shí)例:

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

d、時(shí)間戳查找

?

????以“天”為單位

???? -atime [+|-]#

-mtime [+|-]#

-ctime [+|-]#

?

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

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

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

????以“分鐘”為單位

-amin [+|-]#

????????-mmin

-cmin

實(shí)例:

1 2 #?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)限只要能包含對(duì)其指定的任何一位權(quán)限即可;

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

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

實(shí)例:

1 2 #?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 ...

????所有條件必須同時(shí)滿足

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

????滿足其中一個(gè)條件即可

非:-not, ! ??

????-not 查找條件

實(shí)例:

1 2 #?find?/?\(?-nouser?-o?-nogroup?\)?-a?-atime?-3 #?find?/etc/?-not?\(?-user?root?-o?-user?hadoop?\)?-a?-mtime?-7

3、處理動(dòng)作

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

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

-exec COMMAND {} \;

-ok COMMAND {} \;

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

實(shí)例:

1 2 3 4 5 6 7 8 9 10 11 12 13 #?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?\; <?echo?...?/tmp/yum.log?>???y <?echo?...?/tmp/YUM.LOG?>???y

轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/p/5288597.html

總結(jié)

以上是生活随笔為你收集整理的Linux文件查找工具之find “大宝剑”--转载的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。