find用法

find . -name "jia" -o -wholename './files' -prune
在當前目錄及除./files的其他子目錄下查找名爲jia的文件,並輸出文件的路徑,注意輸出會多了個./files

遞歸查找文件內的字符串

find . -name "*.h" -exec grep "sockaddr_in" {} \; -print

這條命令將查找所有包含 sockaddr_in 的 .h 文件. 返回的結果出現sockaddr_in的行的內容,然後是文件名。藍色部分表示對找到的文件進行操作的命令。{}符號展開成前面find命令找到的文件名。\;符號表示-exec選項中命令的結束。

上面的語句也可以這樣實現:

find . -name "*.h" | xargs -i grep "sockaddr_in" {}

另外的例子:

顯示/etc/rc.d下文件名含"crond"的文件的類型

find /etc/rc.d -name ’*crond’ -exec file {} \;

查看含有pthread串的文件名,只用grep實現:
grep “pthread” -l


搜索並替換文件裏的內容

sed -i ’s/b/strong/g’ index.html

此命令搜索 index.html 文件中的 b 並將其替換爲 strong。


-atime -n 即access time,過去的n+1小時內訪問過的文件

-amin -n 即access minute,過去的n分鐘內訪問過的文件

-mtime -n 即modify time,過去n+1小時內改過的文件

-mmin -n 即modify time,過去n分鐘內改過的文件(dong? -mmin和-cmin的區別是?)

find / -amin -10 # 查找在系統中過去10分鐘訪問的文件
find / -atime -2 # 查找在系統中過去72小時訪問的文件
find / -empty # 查找在系統中爲空的文件或者文件夾
find / -group cat # 查找在系統中屬於 groupcat的文件
find / -mmin -5 # 查找在系統中過去5分鐘裏修改過的文件
find / -mtime -1 #查找在系統中過去48小時裏修改過的文件
find / -nouser #查找在系統中屬於作廢用戶的文件
find / -user fred #查找在系統中屬於FRED這個用戶的文件

find /tmp -size +1000c -and -mtime -2 #在/tmp目錄下查找72小時內大於1000B的文件(c代表字節,k表示KB,M表MB,G表GB)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章