linux find命令應用

2021-06-04 08:18:16 字數 2718 閱讀 4257

功能說明:查詢檔案或目錄

語法:find [目錄...][-amin 《分鐘》][-anewer 《參考檔案或目錄》][-atime <24小時數》][-cmin 《分鐘》][-cnewer 《參考檔案或目錄》][-ctime <24小時數》][-daystart][-depyh][-empty][-exec 《執行指令》][-false][-fls 《列表檔案》][-follow][-fprint 《列表檔案》][-fprint0 《列表檔案》][-fprintf 《列表檔案》《輸出格式》][-fstype 《檔案系統型別》][-gid 《群組識別碼》][-group 《群組名稱》][-help][-ilname 《範本樣式》][-iname 《範本樣式》][-inum 補充說明:find命令用於查詢符合條件的檔案,任何未予引數之前的字串都將被視為欲查詢的目錄

引數說明:

-amin《分鐘》  查詢在指定時間曾被訪問過的檔案或目錄,單位以分鐘計算。 

-anewer《參考檔案或目錄》  查詢其訪問時間較指定檔案或目錄的訪問時間更接近現在的檔案或目錄。 

-atime<24小時數》  查詢在指定時間曾被訪問過的檔案或目錄,單位以24小時計算。 

-cmin《分鐘》  查詢在指定時間之時被更改的檔案或目錄。 

-cnewer《參考檔案或目錄》  查詢其更改時間較指定檔案或目錄的更改時間更接近現在的檔案或目錄。 

-ctime<24小時數》  查詢在指定時間之時被更改的檔案或目錄,單位以24小時計算。 

-daystart  從本日開始計算時間。 

-depth  從指定目錄下最深層的子目錄開始查詢。 

-expty  尋找檔案大小為0 byte的檔案,或目錄下沒有任何子目錄或檔案的空目錄。 

-exec《執行指令》  假設find指令的回傳值為true,就執行該指令。 

-false  將find指令的回傳值皆設為false。 

-fls《列表檔案》  此引數的效果和指定"-ls"引數類似,但會把結果儲存為指定的列表檔案。 

-follow  排除符號連線。 

-fprint《列表檔案》  此引數的效果和指定"-print"引數類似,但會把結果儲存成指定的列表檔案。 

-fprint0《列表檔案》  此引數的效果和指定"-print0"引數類似,但會把結果儲存成指定的列表檔案。 

-fprintf《列表檔案》《輸出格式》  此引數的效果和指定"-printf"引數類似,但會把結果儲存成指定的列表檔案。 

-fstype《檔案系統型別》  只尋找該檔案系統型別下的檔案或目錄。 

-gid《群組識別碼》  查詢符合指定之群組識別碼的檔案或目錄。 

-group《群組名稱》  查詢符合指定之群組名稱的檔案或目錄。 

-ilname《範本樣式》  此引數的效果和指定"-lname"引數類似,但忽略字元大小寫的差別。 

-iname《範本樣式》  此引數的效果和指定"-name"引數類似,但忽略字元大小寫的差別。 

-inum-xtype《檔案型別》  此引數的效果和指定"-type"引數類似,差別在於它針對符號連線檢查

應用例項:

-exec 應用此引數來執行shell命令

查詢並列出符合條件的檔案

#find . -type f -exec ls -l {} \

在/logs目錄中查詢更改時間在5日以前的檔案並刪除它們

#find logs -type f -mtime +5 -exec rm {} \

需要對-exec引數進行更深入的研究。當查詢到匹配搜尋條件的檔名時,find命令執行ls 字串,用檔名和路徑代替文字

假設在搜尋中查到了logo.jpg檔案,find 將執行如下命令:#ls ./logo.jpg

-name

從當前資料夾開始搜尋以指定檔名格式的檔案

-ok 可選的執行

-ok是-exec引數的乙個重要替代項,它的行為和-exec一樣,但它會在執行命令前提示使用者是否執行相應命令,假設你要刪除home目錄

中的大部分.txt檔案,但希望能夠逐個檔案的執行該操作,像linux中的rm命令那樣的刪除操作很危險,當使用find這樣的自動化處理方式

來查詢檔案時,它可能一不小心就把系統重要檔案刪除了,如果你需要在刪除前進行確認的話,以下命令可能會對你有幫助

#find $home/. -name *.txt -ok rm {} \;

上面的命令列出了你的home目錄中所有的.txt檔案。要刪除這些檔案,必須等find命令執行通過列出檔案提示你確認刪除操作時輸入y或y

清單1示例結果

< rm ... /home/bill/./archives/ldds.txt > ?

< rm ... /home/bill/./www/txt/textfile1.txt > ?

< rm ... /home/bill/./www/txt/faq.txt > ?

< rm ... /home/bill/./www/programs/mike.txt > ?

< rm ... /home/bill/./www/programs/eestring.txt > ?

系統將在每個問好之後暫停,在本示例中,每次都按下了enter鍵盤,則該檔案跳過,-ok引數允許你控制找到

的檔案的自動化批處理過程,這樣就新增了一種避免自動刪除檔案的安全措施

未完待續……

Linux find命令小結

find 命令 今天瀏覽了下linux下find 的man文件,涉及的細節很多,僅把常用的部分整理出來,供後續豐富補充吧。find命令格式 usage find path expression path預設為當前路徑,expression預設為 print項 expressions有以下幾種組成 o...

linux find命令記錄

find amin 10 查詢在系統中最後10分鐘訪問的檔案 find atime 2 查詢在系統中最後48小時訪問的檔案 find mmin 5 查詢在系統中最後5分鐘裡修改過的檔案 find mtime 1 查詢在系統中最後24小時裡修改過的檔案 find cmin 5 查詢在系統中最後5分鐘裡...

Linux find命令詳解

在linux上查詢某個檔案確實是一件比較麻煩的事情。畢竟在linux中需要我們使用專用的 查詢 命令來尋找在硬碟上的檔案。linux下的檔案表達格式非常複雜,不象windows,dos下都是統一的aaa.bbb格式那麼方便查詢,在windows中,只要知道要查詢的檔案的檔名或者字尾就非常容易查詢到。...