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)