[Linux/Mac學習] find用法心得


find命令相對於grep命令要復雜一些。

通過幾個比較典型的find用法來學習find命令

find . -type f -exec ls -l {} \;
從當前文件夾中查找普通文件,並且對每個匹配的文件執行“ls -l {}”操作;
-type表示按照文件類型來查找文件:
b - 塊設備文件。
d - 目錄。
c - 字符設備文件。
p - 管道文件。
l - 符號鏈接文件。
f - 普通文件。

find logs -type f -mtime +5 -exec rm {} \;
從logs文件夾中查找最后修改日期在5天前的文件,並且刪除它們;
-mtime:Modify Time
-atime: Access Time
-ctime: Create Time

find /etc -name "passwd*" -exec grep "sam" {} \;
從/etc文件夾中查找文件名以“passwd”開頭的所有文件中,是否有“sam”字符串;
-name 后面的表達式不是正則表達式,而是通配符,“*.txt”,"*[lL]inux*"等等。

主要選項:
-name:按照文件名查找文件。
-perm:按照文件權限來查找文件。
-prune:使用這一選項可以使f i n d命令不在當前指定的目錄中查找,如果同時使用-depth選項,那么-prune將被f i n d命令忽略。
-user: 按照文件屬主來查找文件。
-group:按照文件所屬的組來查找文件。

-mtime -n +n:按照文件的更改時間來查找文件, - n表示文件更改時間距現在n天以內,+ n表示文件更改時間距現在n天以前。F i n d命令還有- a t i m e和- c t i m e選項,但它們都和- m t i m e選項。

-nogroup:查找無有效所屬組的文件,即該文件所屬的組在/ e t c / g r o u p s中不存在。
-nouser:查找無有效屬主的文件,即該文件的屬主在/ e t c / p a s s w d中不存在。

-newer file1 ! file2:查找更改時間比文件f i l e 1新但比文件f i l e 2舊的文件。

-type 查找某一類型的文件
-size 按文件大小查找,+100c,表示大於100字節,-10,表示小於10塊(1塊為512字節)

每個具體的選項,只好等到實際工作需要的時候再練習吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM