shell find命令使用

2022-09-14 14:48:12 字數 2821 閱讀 6277

語法格式

find [路徑] [選項] [操作]

選項:-name 【按照檔名稱查詢】

find /etc -name '

*.conf'//

查詢/etc目錄下以conf結尾的檔案

-iname

find . -iname aa //

查詢當前目錄下檔名為aa的檔案,不區分大小寫

-perm 【按照許可權查詢:-perm 755

】finc . -perm 777

//查詢當前目錄下許可權是777的檔案

-prune 【使用此選項可以使find命令不在當前指定的目錄中查詢】

通常和-path一起使用,用於將特定目錄排除在搜尋條件之外

例子1:查詢當前目錄下所有普通檔案,但排除test目錄

find . -path ./test -prune -o -type f

例子2:查詢當前目錄下所有普通檔案,但排除etc和opt目錄

find . -path ./etc -prune -o -path ./opt -prune -o -type f

-user 【按照檔案屬主來查詢】

find . -user wangteng //

查詢檔案屬主為wangteng的所有檔案

-group【按照檔案屬組來查詢】

find . -group wangteng //

查詢屬組為wangteng的當前目錄所有檔案

-type 【查詢某一型別的檔案】

type的選項:

b 【塊裝置檔案】

d 【目錄】

c 【字元裝置檔案】

f 【普通檔案】

p 【管道檔案】

l 【符號鏈結檔案】

-amin n 【查詢系統中最後n分鐘訪問的檔案】

-cmin n 【查詢系統中最後n分鐘被改變檔案狀態的檔案】

-ctime n【查詢系統中最後n*24小時被改變檔案狀態的檔案】

-mmin n 【查詢系統中最後n分鐘被改變檔案資料的檔案】

find /etc -mmin +30

//查詢/etc目錄下30分鐘之前修改的檔案

find /etc -mmin 30 -type d 、/查詢etc目錄下30分鐘之內修改的目錄

-empty 查詢為空的檔案

-size 按容量大小查詢

find /etc -size -10000c //

查詢/etc目錄下小雨10000位元組的檔案

find /etc -size +1m //

查詢/etc目錄下大與1m的檔案

-perm mode 查詢指定屬性的檔案

-mtime n 查詢在n天前被修改過的檔案【查詢系統中最後n*24小時被改變檔案資料的檔案】 +n:n天前find /var -mtime +3;-n:n天內

find /etc -mtime -5 -name '

*.conf'//

查詢/etc目錄下5天內修改過且以conf結尾的檔案

find /etc -mtime +10 -user root //

查詢/etc目錄下十天之前修改且屬主為root的檔案

-atime n 查詢在n天前被訪問過的檔案【查詢系統中最後n*24小時訪問的檔案】

-exec 對搜尋到的檔案執行特定的操作,格式為-exec '

command

'{} \;

例子1:搜尋/etc下的檔案(非目錄),檔名以conf結尾,且大於10k,然後將其刪除

find /etc/ -type f -name '

*.conf

' -size +10k -exec rm -f {} \;

例子2:將/var/log/目錄下以log結尾的檔案,且更新時間在7天以上的刪除

find /var/log/ -name '

*.log

' -mtime +7 -exec rm -rf {} \;

例子3:搜尋條件和例子1一樣,只是不刪除,而是將其複製到/root/conf目錄下

find /etc/ -size 10k -type f -name '

*.conf

' -exec cp {} /root/conf \;

find . \( -name "

*.txt

" -o -name "

*.pdf

" \) -print //

查詢txt和pdf檔案

find . -name "

[a-a]*"//

查詢所有字母開頭的檔案

find . ! -name "

*.txt

" -print //

否定引數->查詢所有非txt文字

find . -maxdepth 1 -type f //

指定搜尋深度->列印出當前目錄的檔案(深度為1)

find . -regex "

.*\(\.txt|\.pdf\)$"//

正則方式查詢.txt和pdf

find . -type f -size +2k //

尋找大於2k的檔案

find . -type f -name "

*.**i

" -delete //

刪除當前目錄下所有的**i檔案

find . -type f -user root -exec chown root {} \; //

將當前目錄下的所有權變更為root 執行動作(強大的exec)

shell find命令使用詳解

find 查詢檔案或目錄。語 法 find 目錄.amin 分鐘 anewer 參考檔案或目錄 atime 24小時數 cmin 分鐘 cnewer 參考檔案或目錄 ctime 24小時數 daystart depyh empty exec 執行指令 false fls 列表檔案 follow fp...

shell find命令用法

由於find具有強大的功能,所以它的選項也很多,其中大部分選項都值得我們花時間來了解一下。即使系統中含有網路檔案系統 n f s find命令在該檔案系統中同樣有效,只你具有相應的許可權。在執行乙個非常消耗資源的find命令時,很多人都傾向於把它放在後台執行,因為遍歷乙個大的檔案系統可能會花費很長的...

Shell命令 使用命令

shell命令的基本格式為 command option argumentsoption一般是連字元 加上單個字元,多個這樣的短選項可以寫在一起,如ls lt,很多命令也支援兩個連字元 的長選項,如ls a等價於ls all。多條命令可以寫在一行,使用分號 分隔 預設情況下,傳入給命令的引數會進行單...