Hello,find!

發表於2022-01-31

Hello,find!

前言

  餘幼時,每至除夕,爆竹聲聲,如雷貫耳,醒於夢中,便知春節將至。與兄長二三人,執摔炮六七隻,

玩耍於廷中。出門罷,廷中白雪覆於黃土之上。二三尺之外,見犬窩,餘之愛犬趴於其中,呼之,出,

其尻尾左右搖擺,甚是喜悅。餘邪魅一笑,抬起右臂,握住手中摔炮,砸向餘犬前之空地,犬驚,吠逃。

餘歡喜。不幸,此情景恰被餘母所捕獲。餘母為人坦蕩,性直爽,抄起燒火棍,餘見之拔腿就跑,倒,

蓋雪地打滑也。餘今憶之,趣哉。

  今日,虎年除夕也。餘邀Linux系統find指令,與汝漫談。祝各位歡樂無憂,幸福滿庭;三餐四季,喜樂安寧;

笑容坦蕩,皺紋全平;眼中有光,福至心靈;事事順意,天天好心情!

 

1. find命令語法

find path -option [ -print ] [ -exec -ok command ]

其中,path是路徑,即指令在path指定的路徑下查詢;-option是選項,常用的有-name等。

如:以下指令在/etc下查詢名字為default的檔案。

以下命令查詢當前目錄下的名字叫做file1的檔案。

 

2. find命令的各種選項

2.1 -amin -n與 -atime -n

-amin -n 用於查詢在過去n分鐘內被讀取過的檔案。比如-amin -3,-amin -11等。

 如:以下命令查詢在當前目錄下20分鐘內讀取過的檔案。

 

 

 

和-amin -n 類似,-atime -n用於查詢在過去n內被讀取過的檔案。比如-amin -3,-amin -11等。

如:以下命令用於查詢在當前目錄下3天內被讀取過的檔案。

 2.3 -cmin -n 與 -ctime -n

與以上兩個指令類似,a為“access”,讀取,c為“change”,修改。這兩個命令用於查詢在過去n分鐘(n

天)內被修改過的檔案。

 

 

 以上四個指令中的 -20,-1,-3 等還可以換成“+20,+1,+3”,表示“超過20分鐘(天),超過1分鐘(天),

超過3分鐘(天)”。

2.4 按檔案大小查詢 -size

以下指令查詢/etc下大小小於2位元組的檔案。

 

 

2.5 -a(and) 與 -o(or)

可以用選項-a (and) 及選項-o (or) 來限定要查詢的檔案的大小範圍:

以下指令查詢大與16位元組小於24位元組的檔案:

 

 

 以下指令查詢小於1位元組或大於65536位元組的檔案:

 

不只是檔案大小有關可以用,其他的也可以。比如我們查詢名字叫testfile或5分鐘內訪問過的檔案(當然實際很少會

這樣用):

 

 3.-name查詢時使用萬用字元“*”及“?”

可以用星號“*”匹配檔名的多個字元,用問號“?”匹配檔名的一個字元。如果我們不想輸入檔案的全名,就可以使用萬用字元進行匹配。

如查詢檔案testfile時,可以這樣:*t*。第一個*號可以匹配“test”,第二個*號可以匹配"ile"。還可以這樣:????f???。前四個問號分別匹配

 "t" "e" "s" "t",後三個問號分別匹配"i" "l" "e"。如下圖所示: 

 

 4.  使用-iname不區分大小寫查詢

在當前目錄下,我們有三個檔名相同,大小寫不同的檔案:

 

 若不區分大小寫查詢,我們可以使用以下指令:

find ./ -iname testfile

 

 再對比一下-name的查詢:

 

 

後記:祝大家除夕快樂!

上一篇【Linux系統安裝百度網盤】:https://www.cnblogs.com/pkuqcy/p/15786178.html