文件實時查找工具-find

find:命令

實時查找工具,通過遍歷指定路徑完成文件查找

工作特點:查找速度慢,精確查找,實時查找,可能只搜索用戶具備讀取和執行的目錄

用法:

?find【OPTION]…[查找路徑】【查找條件】【處理動作】

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

(1)查找條件

指定搜索索層級:

-maxdepth level 最大搜索目錄深度,指定目錄為第1級
-mindepth level 最小搜索目錄深度

例搜索第二層

fing /ect/profile.d/ -maxdepth 2 -mindepth 2

【2】根據文件名和inode查找:

-name “文件名稱”:支持使用glob *, ?, [], [^]
-iname “文件名稱”:不區分字母大小寫
-inum n 按inode號查找
-samefile name 相同inode號的文件
-links n 鏈接數為n的文件
-regex “PATTERN”:以PATTERN匹配整個文件路徑字符串,而不僅僅是文件名稱

【3】根據屬主、屬組查找:

-user USERNAME:查找屬主為指定用戶(UID)的文件
-group GRPNAME: 查找屬組為指定組(GID)的文件
-uid UserID:查找屬主為指定的UID號的文件
-gid GroupID:查找屬組為指定的GID號的文件
-nouser:查找沒有屬主的文件
-nogroup:查找沒有屬組的文件

【3】根據文件類型查找:

-type TYPE:
f: 普通文件 ? ?d: 目錄文件 ?l: 符號鏈接文件 ?s:套接字文件 ?b: 塊設備文件 ?c: 字符設備文件 ?p: 管道文件
空文件或目錄 -empty
示例: ?find /app -type d -empty

組合條件: 與:-a ? 或:-o ? ? ? ? 非:-not, !

德·摩根定律:

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

示例:
!A -a !B = !(A -o B)
!A -o !B = !(A -a B)

根據文件大小來查找:

-size [ + | – ] NUM 單位 【k,M,G,c(byte字節)】
-size 6k 表示 在 5k 到 6k 之間的文件大小 【大于5k小于等于6k】
-size -6k 表示 0k到 5k 之間的文件 包括 0 和 5
-size +6k 表示 大于6k的所有文件

根據時間戳來查找:

-atimee [+|-]#以天為單位。

-atime 1 ? ?大于等于一天小于兩天

-atime -1 ? 小于一天到零天

-atime +1 ?大于等于一天的全部

-mtime ? ? ? ? ? ? ? ? -ctime

以“分鐘”為單位: ?-amin ? ? ? ? -mmin ? ? ? ?-cmin

根據權限查找:

-perm ?[/|-] MODE
/644 :任何一類(u,g,o)對象的權限中只要能一位匹配即可,或關系
-440:每一類對象都必須同時擁有指定權限,與關系
0 表示不關注

 

處理動作:

-print:默認的處理動作,顯示至屏幕
-ls:類似于對查找到的文件執行“ls -l”命令
-delete:刪除查找到的文件
-fls file:查找到的所有文件的長格式信息保存至指定文件中
-ok COMMAND {} \; 對查找到的每個文件執行由COMMAND指定的命令,對于
每個文件執行命令之前,都會交互式要求用戶確認

-exec COMMAND {} \; 對查找到的每個文件執行由COMMAND指定的命令
{}: 用于引用查找到的文件名稱自身
find傳遞查找到的文件至后面指定的命令時,查找到所有符合條件的文件一次性
傳遞給后面的命令
參數替換xargs

由于很多命令不支持管道|來傳遞參數時,我們可以用xargs來傳遞處理上一個命令的參數。

基本上就是,xargs將前面命令產生的參數,一個一個傳給后面的參數。有時候有些命令接受不了過多的參數,命令執行可能會失敗,xargs可以解決。

find和xargs格式:find | xargs COMMAND

 

練習:

1、查找/var目錄下屬主為root,且屬組為mail的所有文件

1

2、查找/var目錄下不屬于root、lp、gdm的所有文件

2

3、查找/var目錄下最近一周內其內容修改過,同時屬主不為root,也不是postfix的文件

3

4.、查找當前系統上沒有屬主或屬組,且最近一個周內曾被訪問過的文件4

5、查找/etc目錄下大于1M且類型為普通文件的所有文件?5

6.、查找/etc目錄下所有用戶都沒有寫權限的文件

6

7.、查找/etc目錄下至少有一類用戶沒有執行權限的文件?7

8.、查找/etc/init.d目錄下,所有用戶都有執行權限,且其它用戶有寫權限的文件

8

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/95832

(0)
顧笙顧笙
上一篇 2018-04-13 14:34
下一篇 2018-04-13 16:24

相關推薦

  • liniux課程第一周總結

    第一天課程內容 MBR分區類型:主分區:1-4,一塊硬盤最多4個主分區,不可以分小區,可以用來啟動操作系統(系統分區),直接建文件系統,存放數據擴展分區:一塊硬盤最多一個擴展分區,可以沒有,加主分區最多4個,不能創建文件系統,可以再劃分更小的分區(即邏輯分區)邏輯驅動器(分區):可以創建文件系統,存放數據 系統分區:啟動操作系統的分區啟動分區:安裝操作系統的…

    Linux筆記 2018-04-01
  • DNS服務、BIND

    DNS:domain name service,協議(C/S,udp53,tcp53) BIND:bekerley internat name domain 注意:named程序的啟動用戶是named用戶,非root用戶,因此需要注意權限和屬主。 本地名稱解析配置文件:hosts linux:/etc/hosts windows:%WINDOWS%/syst…

    2018-03-26
  • Linux系統學習-第二周

    學習筆記

    2018-05-20
  • 目錄操作

    索引節點:  

    Linux筆記 2018-04-01
  • LVS調度方法及nginx模塊簡介

    LVS調度方法及nginx模塊簡介

    Linux筆記 2018-06-05
  • iptables實現局域網訪問外網

    1.環境: Linux pc一臺,兩個網卡: eth0:ip ?192.168.0.106gateway 192.168.0.1dns 192.168.0.1eth1:ip 172.24.8.3 windows一個網卡: ip ?172.24.8.4 gateway 172.24.8.3 2.Linux ?pc的eth0可以訪問外網,eth1與windows…

    Linux筆記 2018-07-17
欧美性久久久久