find主要用來查詢檔案名,其基本格式
find path -option
[-print][
-exec
-ok command]
{} \;
常用引數如下
-name
find .
-name four 查詢名為four的檔案(包括目錄和檔案)
find .
-name
"fou*" 查詢開頭是fou的檔案
find .
-name
"[a-z]*" 查詢大寫字母開頭的檔案
find .
-name
"*.txt" 查詢以.txt結尾的檔案
-user
find .
-user lee 查詢屬主為lee的檔案
-group
find .
-group lee 查詢屬組為lee的檔案
-type
find .
-type d 查詢檔案型別為目錄的檔案,除了d,還有f,b,c,p,l,s,分別指普通檔案,塊裝置,字元裝置,管道,鏈結檔案和socket套接字
find .
!-type f 查詢非普通檔案的檔案,符號!表示反向選擇
-size
find .
-size
10m 查詢大小大於10m的檔案,+n表示大於nm的檔案,-n表示大小小於nm的檔案
-perm
find .
-perm
600 查詢執行許可權為600的檔案
find .
-perm
-007 查詢777許可權的檔案,與-perm
777一樣效果,+
222表示檔案許可權在222以上
-mtime
find .
-mtime
2 查詢檔案內容修改在兩天前的檔案,n代表n天前的當天,-n代表n天以內,+n代表n天以前
-atime
find .
-atime
2 查詢2天前被訪問過的檔案,n表示n天前當天被訪問過,-n表示n天以內被訪問過,+n表示n天以前被訪問過的
-ctime
find .
-ctime
+4 查詢4天以前檔案狀態被修改的檔案,比如改了檔案許可權等,-n表示n天以內檔案狀態有變過,+n表示n天以前檔案狀態被改過,n表示n天前當天檔案狀態被改了。
-mmin
/-amin
/-cmin與上面類似,只是單位變成了分鐘
-depth 表示在進入子目錄查詢之前先在查詢完當前目錄
-maxdepth 只在當前資料夾這一級來搜尋,而不去遞迴向下搜尋
find .
-maxdepth
1-name four 在當前目錄下找名為four的,不去子目錄下找
find .
-maxdepth
1-type f 注意maxdepth的位置要在前面
find .
-maxdepth
1-size
+100m -exec ls -lh {} \; 把大於100m的檔案顯示出來,不搜尋跨級目錄下的檔案
-a
find .
-name
"four*"
-type d
find .
-name
"four*"
-a-type d 這兩個語句的結果是一樣的,只是-a把-name
"four*"和-type d兩個表示式組合在一起
-exec表示對搜尋到的每個檔案執行指定的命令
cp表示複製
{}表示搜尋到的每個檔案
\;表示命令的結束,為避免轉義故在;前加符號\
如果是移動的話則是-exec mv {} {}.other \;
find . -name "*.txt" -type f -exec cp {} /tmp \; 查詢.txt結尾的普通檔案並複製到tmp目錄下,-
find .
-name
"[a-z]*"
| xargs chmod 600
-r 查詢大寫字母開頭的檔案及子檔案並把許可權設定為600,注意-r代表子檔案的許可權也會修改
可以同時指定多個要搜尋的資料夾,而如下的搜尋有重複的結果,因為當前目錄就是在/root下面(符號.代表當前目錄)
[root@localhost ~]# find . /root -name four
./package/four
./four
/root/package/four
/root/four
如果指定要搜尋的資料夾本身不存在,則會直接報錯
[root@localhost ~]# find hello -name abc
find: 「hello」: 沒有那個檔案或目錄
-newerab a和b代表不同型別,包括訪問時間a,修改時間m和狀態變化時間c等
find .
-newermt
2017-08
-23 表示修改時間m比2017-08
-23新的檔案,t後面直接接時間
一般不直接在根目錄下用find去找檔案,因為會耗費不小系統資源,而是在相對目錄下去找
最後,find支援正則,預設型別是emacs,可以通過-regextype來指定要用的型別
Shell 程式設計四劍客之 Find
通過如上基礎語法的學習,讀者對 shell 程式設計有了更近一步的理解,shell 程式設計不再是簡單命令的堆積,而是演變成了各種特殊的語句 各種語法 程式設計工具 各種命令的集合。在 shell 程式設計工具中,四劍客工具的使用更加的廣泛,shell 程式設計四劍客包括 find sed grep...
shell四劍客之sed
格式 sed nefri 動作 其中n e f r i 動作有a,i,c,p,s n 預設把sed命令執行的結果,與原來的資料一起輸出到螢幕,如果加了 n,則只顯示sed處理後的內容 sed n 1p sed.txt a 在匹配的當前行的後面新增內容,add sed ahelloworld sed....
shell四劍客之sed
sed是乙個非互動式文字編輯器,它一次處理一行內容。作用 編輯乙個或多個檔案,簡化對檔案的反覆操作 編寫轉換程式等 在處理文字時把當前處理的行儲存在臨時緩衝區中,稱為 模式空間 緊接著用sed命令處理緩衝區中的內容,處理完後把緩衝區的內容輸出至螢幕或寫入檔案。預設輸出到螢幕的文字已經修改,但檔案內容...