linux下find的用法

2021-08-07 12:00:35 字數 3780 閱讀 1668

find:命令

用來在指定目錄下查詢檔案。任何位於引數之前的字串都將被視為欲查詢的目錄名。如果使用該命令時,

不設定任何引數,則find命令將在當前目錄下查詢子目錄與檔案。並且將查詢到的子目錄和檔案全部進行顯示。

用法:find(選項)(引數)

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

-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《群組名稱》:查詢符合指定之群組名稱的檔案或目錄; 

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

-inum:查詢符合指定的inode編號的檔案或目錄; 

-ipath《範本樣式》:此引數的效果和指定「-path」引數類似,但忽略字元大小寫的差別; 

-iregex《範本樣式》:此引數的效果和指定「-regexe」引數類似,但忽略字元大小寫的差別; 

-links《連線數目》:查詢符合指定的硬連線數目的檔案或目錄; 

-iname《範本樣式》:指定字串作為尋找符號連線的範本樣式; 

-ls:假設find指令的回傳值為ture,就將檔案或目錄名稱列出到標準輸出; 

-maxdepth《目錄層級》:設定最大目錄層級; 

-mindepth《目錄層級》:設定最小目錄層級; 

-mmin《分鐘》:查詢在指定時間曾被更改過的檔案或目錄,單位以分鐘計算; 

-mount:此引數的效果和指定「-xdev」相同; 

-mtime<24小時數》:查詢在指定時間曾被更改過的檔案或目錄,單位以24小時計算; 

-name《範本樣式》:指定字串作為尋找檔案或目錄的範本樣式; 

-nogroup:找出不屬於本地主機群組識別碼的檔案或目錄; 

-noleaf:不去考慮目錄至少需擁有兩個硬連線存在; 

-nouser:找出不屬於本地主機使用者識別碼的檔案或目錄; 

-ok《執行指令》:此引數的效果和指定「-exec」類似,但在執行指令之前會先詢問使用者,若回答「y」或「y」,則放棄執行命令; 

-path《範本樣式》:指定字串作為尋找目錄的範本樣式; 

-perm《許可權數值》:查詢符合指定的許可權數值的檔案或目錄; 

-print:假設find指令的回傳值為ture,就將檔案或目錄名稱列出到標準輸出。格式為每列乙個名稱,每個名稱前皆有「./」字串; 

-print0:假設find指令的回傳值為ture,就將檔案或目錄名稱列出到標準輸出。格式為全部的名稱皆在同一行; 

-printf《輸出格式》:假設find指令的回傳值為ture,就將檔案或目錄名稱列出到標準輸出。格式可以自行指定; 

-prune:不尋找字串作為尋找檔案或目錄的範本樣式; 

-regex《範本樣式》:指定字串作為尋找檔案或目錄的範本樣式;

-size《檔案大小》:查詢符合指定的檔案大小的檔案; 

-true:將find指令的回傳值皆設為true; 

-typ《檔案型別》:只尋找符合指定的檔案型別的檔案; 

-uid《使用者識別碼》:查詢符合指定的使用者識別碼的檔案或目錄; 

-used《日數》:查詢檔案或目錄被更改之後在指定時間曾被訪問過的檔案或目錄,單位以日計算; 

-user《擁有者名稱》:查詢符和指定的擁有者名稱的檔案或目錄; 

-version或--version:顯示版本資訊; 

-xdev:將範圍侷限在先行的檔案系統中; 

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

引數: 起始目錄:查詢檔案的起始目錄

1.列出當前目錄及目錄下所有檔案和資料夾

# find .

2.在/home目錄下查詢一 .txt結尾的檔案

# find  /home  -name "*.txt"

3.同上,但忽略大小寫

# find  /home  -iname "*.txt"

4.當前目錄及子目錄下查詢所有以.txt和.pdf結尾的檔案

# find . \( -name "*.txt" -o -name "*.pdf" \)  或 # find . -name "*.txt" -o -name "*.pdf" 

5.匹配檔案路徑或者檔案

# find /user/ -path 「*local*」

6.基於正規表示式匹配檔案路徑

# find . -regex ".*\(\.txt\|\.pdf\)$"

7.同上,但是忽略大小

# find . -iregex ".*\(\.txt\|\.pdf\)$"

否定引數:

8.找出/home下不是以.txt結尾的檔案

# find /name ! "*.txt"

根據檔案型別進行搜尋

# find . -type 引數型別

引數型別:

f :普通檔案

l :鏈結檔案

d:目錄

c:字元裝置

b:塊裝置

s:套接字

p:管道檔案

基於目錄深度搜尋

9.向下最大深度限制為3

# find . -maxdepth 3 -type f

10.搜尋出深度距離當前目錄最少兩個子目錄的所有檔案

# find . -mindepth 2 -type f

根據檔案時間戳進行搜尋

# find  . -type 時間戳

linux有三種時間戳:

1:訪問時間(-atime/每天  -amin/每分):使用者最近一次訪問時間

2:修改時間(-mtime/每天  -mmin/每分):檔案最後一次修改時間

3:變化時間(-ctime/每天 -cmin/每分):檔案資料元(如許可權)最後一次修改時間

11.搜尋最近7天內被訪問過的所有檔案

# find . -type f -atime -7

12.搜尋恰好在7天前被訪問的所有檔案

# find . -type f -atime 7

13.搜尋超過7天內被訪問的所有檔案

#find . -type f -atime +7

Linux下的find用法

想一下我們為什麼要熟悉find命令呢?whereis和locate都可以用來查詢,但是這兩個是通過資料庫來查因為沒有實際查詢硬碟所以相當快速,但是也會有其他問題 1 whereis命令只能用於程式名的搜尋,而且只搜尋二進位制檔案,man說明檔案和源 檔案 省略引數時返回所有資訊 2 whereis查...

linux下的find命令用法

第一部分 根據檔名查詢 1 在當前目錄查詢名稱為test的所有檔案 find test 2 在主目錄下查詢名稱為test的所有檔案 find home name test 3 在主目錄下查詢test的所有檔案,且不分割槽大小寫 find home iname test 4 查詢名稱為test的所有目...

linux下find命令基本用法

一.基本用法 find name 檔名 find ver1.d ver2.d name c print 查詢ver1.d,ver2.d c檔案並列印 find type d print 從當前目錄查詢,僅查詢目錄,找到後,列印路徑名。可用於列印目錄結構。二.無錯誤查詢 find name acces...