find是利用檔名和檔案屬性,來找檔案的,grep是對檔案內容逐行掃瞄,來找匹配的內容。
find可以找目錄,找檔案,具體方式如下:
一、find 命令格式說明
path find命令查詢的目錄路徑。
-print find命令將匹配到的檔案輸出到標準輸出。
-exec find 命令對匹配的檔案執行該引數所給出的shell命令。
-ok 和 -exec的作用相同,只是更安全,在執行每個命令之前,都會給出提示,讓使用者來確定是否執行。
二、find命令常用引數說明
-name 按照檔名查詢檔案
-cpio: 對匹配的檔案使用 cpio 命令,將這些檔案備份到磁帶裝置中
-prune 按照檔案許可權進行查詢檔案
-user 按照檔案屬主來查詢檔案
-group 按照檔案所屬的組來查詢檔案
-mtime -n +n 按照檔案更改的時間來查詢檔案,-n 表示更改時間距現在 n 天以內,+n 表示更改時間距現在 n 天以前
-nogroup 查詢無效所屬組的檔案
-nouser 查詢無效屬主檔案
-newer file1 !file2 查詢更改時間比 file1 新但比 file2 舊的檔案
-follow 如果 find 查詢的為鏈結檔案,就跟蹤至連線所指向的檔案
-mount 在查詢檔案時不跨越檔案系統 mount 點
-fstype 查詢位於某一型別檔案系統中的檔案
-depth 在查詢檔案時,首先查詢當前目錄中的檔案,然後再在其子目錄中查詢
-size n 查詢檔案長度為 n 塊的檔案,帶有 c 時表示檔案長度以位元組計
-type 查詢某一型別的檔案
-amin n 查詢系統中最後 n 分鐘訪問的檔案
-atime n 查詢系統中最後 n*24 小時訪問的檔案
-cmin n 查詢系統中最後 n 分鐘被改變檔案狀態的檔案
-ctime n 查詢系統中最後 n*24 小時被改變檔案狀態的檔案
-mmin n 查詢系統中最後 n 分鐘被改變檔案資料的檔案
-mtime n 查詢系統中最後 n*24 小時被改變檔案資料的檔案
-empty 查詢系統中空白的檔案或目錄,或目錄中沒有子目錄的資料夾
-false 查詢系統中總是錯誤的檔案
-gid n 查詢系統中檔案數字組id為 n 的檔案
-daystart 測試系統中從今天開始 24 小時以內的檔案,用法類似於 -amin
-help 顯示命令摘要(幫助)
-maxdepth levels 在某個層次目錄中按照遞減方法查詢
三、find基本用法
find 如不加任何引數,表示查詢當前路徑下的所有檔案和目錄
find -print 將結果列印到標準輸出
find /data/log 指定路勁查詢
find / -name "abc.txt" 在系統中查詢 abc.txt 如果執行完畢沒有找到,則說明系統中不存在該檔案
find 還支援正規表示式查詢
find /data/logs -mame "*.log" -type f -printf 查詢符合指定字串的檔案
find . -name "[0-9]" -type f 查詢以數字開頭的檔案
find / -mtime -1 |head 查詢系統內最近24小時修改過的檔案
find / -mmin -15|head 查詢系統內最近15 分鐘修改過的檔案
find 使用 type 選項可以查詢特定的檔案型別,常見型別如下
b 塊裝置檔案
d 目錄
c 字元裝置檔案
p 管道檔案
l 符號鏈結檔案
f 普通檔案
find . -type d 查詢當前路徑中的所有目錄
find . -type f 查詢當前路徑中的所有檔案
find . -type l 查詢當前路徑中的所有符號鏈結檔案
更多例項將在使用中不斷補充.....
四、xargs命令
find命令可以把匹配到的檔案傳遞給 xargs 命令執行,在使用 find 命令的 -exec 選項處理匹配到的檔案時,find將所有匹配到的檔案一起傳遞給 exec 執行。由於有些系統對能夠傳遞給 exec 的命令長度有限制,這樣會引起溢位錯誤。這時可以使用 xargs 命令。
find / type f -print | xargs file 查詢系統中的每乙個普通檔案,並用 file 命令來測試它們分別屬於哪一類檔案。
find . -type f -name "\.log" -print | xargs rm 查詢當前目錄下的 .log 檔案,並刪除 。
find . -type f -exec ls -l {} \; 用 ls -l 列出所有匹配到的檔案。
find logs -type f -mtime +5 -exec rm {} \; 查詢 log 中更改時間在 5 天前的檔案並刪除。
find logs -type f -ok rm {} \; 查詢 log中的所有普通檔案並在刪除前確認。
find . -type f -name "\.log" -print | gerp "node" 查詢當前目錄下的 .log 檔案,並從查詢結果中篩選出帶有 node 字串的檔案 。
find和grep的使用
1 find 語法格式 find path options tests actions path 是路徑,可以是絕對路徑 相對路徑,或者多個路徑。options 下面列出一些主要選項 還可以使用操作符來組合這些測試項。可以使用括號來強制測試和操作符的優先順序,但是要注意使用使用反斜槓 來引用括號,以...
find和grep的使用
1 find命令的使用 在linux中可以使用find命令在指定的目錄下查詢檔案。任何位於引數之前的字串都將被視為欲查詢的目錄名,當使用該命令時,不設定任何引數,則find命令將在當前目錄下查詢子目錄與檔案,並將查詢到的檔案進行全部顯示。1 命令語法 find命令的語法如下 find path op...
linux的grep和find命令
在linux下面工作,有些命令能夠大大提高效率。本文就向大家介紹find grep命令,他哥倆可以算是必會的linux命令,我幾乎每天都要用到他們。本文結構如下 grep命令 find命令是乙個無處不在命令,是linux中最有用的命令之一。find命令用於 在乙個目錄 及子目錄 中搜尋檔案,你可以指...