find 命令技巧備註

2021-08-08 12:40:32 字數 1080 閱讀 3099

#find ... -exec rm {} \;

#find ... | xargs rm -rf

兩 者都可以把find命令查詢到的結果刪除,其區別簡單的說是前者是把find發現的結果一次性傳給exec選項,這樣當檔案數量較多的時候,就可能會出現 「引數太多」之類的錯誤,相比較而言,後者就可以避免這個錯誤,因為xargs命令會分批次的處理結果。這樣看來,「find ... | xargs rm -rf」是更通用的方法,推薦使用!

rm不接受標準輸入,所以不能用find / -name "tmpfile" |rm

-exec 必須由乙個 ; 結束,而因為通常 shell 都會對 ; 進行處理,所以用 \; 防止這種情況。

{} 可能需要寫做 '{}',也是為了避免被 shell 過濾

find ./ -type f -exec grep iceskysl {} /dev/null \;

./表示從當前目錄找

-type f,表示只找file,檔案型別的,目錄和其他位元組啥的不要

-exec 把find到的檔名作為引數傳遞給後面的命令列,代替{}的部分

-exec後便跟的命令列,必須用「 \;」結束

常用的find命令:

#find ./ -type f -name "*.cpp"|xargs grep "test" -n

#find . -name "*cpp" -exec grep "test" {} \; -print

# find / -name *.log //指定目錄 要搜尋的檔名

# find / -name core print //檢查系統是否有巨大的core檔案,可直接刪除

# find . –ctime | print //列出當前目錄中在當前24小時內更改的所有檔案

# find /tmp -user "***x" -exec rm {} \; //找到tmp目錄下***使用者生成的檔案並刪除

find命令技巧備忘

find path expression 遞迴地在層次目錄中處理檔案 name搜尋檔名中可以包含正規表示式!iname測試項。i 可以加在許多選項前面,比如 ipath,iregex,iwholename等等,都是表示大小寫不敏感。1 在當前目錄修改全名為test介面 find name test ...

find命令的使用技巧

find option 查詢路徑 查詢條件 處理動作 查詢條件 根據檔案名字 name 檔名稱 檔名稱可以使用glob iname 檔名稱 忽略檔名稱大小寫 根據檔案的屬主屬組 user username group groupname uid userid gid groupid nouser n...

find 命令 Linux命令篇 find命令

find name txt o name pdf print演示結果 find regex txt pdf iregex 忽略大小寫的正則 查詢所有非txt文字 find name txt print演示結果 列印出當前目錄的檔案 深度為1 find maxdepth 1 type f演示結果 5....