find是高階的查詢檔案工具。
用法:find [-h] [-l] [-p] [-d debugopts] [-olevel] [starting-point…] [expression]
⑴ -h -l -p -d -olevel
-h -l -p都是對symbolic links操作的選項(symbolic links類似於windows下的桌面快捷方式)。
-d 是選擇性列印一些find的查詢資訊
-olevel 是進行一些查詢優化,有查詢等級的劃分
⑵ starting-point:開始搜尋的目錄
⑶ expression:是查詢規則,其中分為tests、actions、global options、positional options、operators。
具體的可以man find一下。
-name filename :
檢索匹配指定檔名的所有檔案。其中,指定的檔名不必包括目錄路徑(從當前目錄開始,遞迴的進行檢索所有子目錄)。
filename可以是單、雙引號括起來的萬用字元組成的字串(這也說明了find工具,接受萬用字元,因為這個萬用字元不是由shell解析的,而是提交給find工具解析的)。
[ex1] 遞迴查詢當前目錄下,所有字尾為.v的檔案
find ./ -name 『*.v』 #在當前目錄下找所有字尾為.v的檔案
[ex2] 使用了命令的替換的形式,遞迴查詢當前目錄下的所有檔案,並複製到./filedirectory目錄下。
cp `find ./ *` ./filedirectory
cp $(find ./ *) ./filedirectory
-user username:
檢索其檔案屬主匹配指定使用者的所有檔案。
-nouser
檢索其檔案屬主未出現在/etc/passwd檔案中定義的所有檔案。
-atime [+ -]n
選擇在n天之前,之內或恰好n天訪問過的檔案
「+」表示在之外,「-」表示在之內,不寫「+/-」表示恰好。下同↓↓↓↓
-ctime [+-]n
選擇在n天之前,之內或恰好n天狀態資訊發生變動的檔案
-mtime [+-]n
選擇在n天之前,之內或恰好n天修改過檔案內容的檔案
-mmin [+-]n
選擇在n分鐘之前,之內或恰好n分鐘 修改過檔案內容的檔案
find ./ -name '*.v' -mmin -30
-size [+-]n[cwbkmg]
根據檔案大小來進行選擇。[cwbkmg]是對n的修飾,如果都不加,預設是n個512位元組的資料塊
c :位元組。表示n個位元組
w :雙位元組。表示n個雙位元組
b :512位元組的資料塊(預設)
k :kb為單位
m :mb為單位
g :gb為單位
-newer filename
選擇其修改日期比給定的檔案更近的檔案
-type filetype
檢索指定型別的檔案
f :普通檔案
d :目錄
b :塊特殊檔案
c :字元特殊檔案
p :管道(fifo)檔案
s :套接字檔案
find工具支援邏輯運算子。
形式為:邏輯非「!」、邏輯或「-o」、邏輯與「-a」
使用舉例:
⑴ 邏輯非「!」
find . ! -user root
表示檢索當前目錄下,不屬於root使用者的檔案
⑵ 邏輯或「-o」
find / \(-name 『*.o』 -o -name a.out \) -atime +30
表示檢索根目錄下超過30天沒有訪問的,擴充套件名為.o或者檔名為a.out的所有檔案。
「\(「轉義字元加個特殊符號,防止shell對其進行了解析
⑶ 邏輯與「-a」
find / -type d -a -user book
表示檢索根目錄下的屬於book使用者的所有子目錄
shell指令碼 find命令
find命令用於查詢,功能很強大,格式如下 find pathname options print exec ok pathname find命令所查詢的目錄路徑。例如用.來表示當前目錄,用 來表示系統根目錄。print find命令將匹配的檔案輸出到標準輸出。exec find命令對匹配的檔案執行...
shell指令碼 命令
命令連線符 表示不管前面是否執行成功都要執行 表示前面執行成功才執行後面 表示前面執行失敗才執行後面 read命令 read 選項 值 read p 提示語句 n 字元個數 t 時間秒 s 不顯示 運算子 expr 3 2 結果賦值 sum expr 3 2 或者 sum 3 2 乘法expr 3 ...
shell指令碼命令
1.建立檔案 home test test.log rootdir home test testfile rootdir test.log touch testfile 2.如果檔案存在則刪除檔案 if f testfile then rm rf testfile fi3.如果檔案不存在則建立檔案 ...