find的用法太多了。比如:
1、find . -name "*.php"|grep xxxx 这是判断文件名
2、find . -name "*.php"|xargs -n 50 grep "eval" 这是判断文件中是否有eval字符串,并列出来
还有更多,比如:
XML/HTML代码
- ====================================================
- $find ~ -name "*.txt" -print #在$HOME中查.txt文件并显示
- $find . -name "*.txt" -print
- $find . -name "[A-Z]*" -pri26nbsp; #对匹配的文件使用cpio命令,将他们备份到磁带设备中
- -prune #忽略某个目录
- =====================================================
- $find ~ -name "*.txt" -print #在$HOME中查.txt文件并显示
- $find . -name "*.txt" -print
- $find . -name "[A-Z]*" -print #查以大写字母开头的文件
- $find /etc -name "host*" -print #查以host开头的文件
- $find . -name "[a-z][a-z][0–9][0–9].txt" -print #查以两个小写字母和两个数字开头的txt文件
- $find . -perm 755 -print
- $find . -perm -007 -exec ls -l {} \; #查所有用户都可读写执行的文件同-perm 777
- $find . -type d -print
- $find . ! -type d -print
- $find . -type l -print
- $find . -size +1000000c -print #查长度大于1Mb的文件
- $find . -size 100c -print # 查长度为100c的文件
- $find . -size +10 -print #查长度超过期作废10块的文件(1块=512字节)
- $cd /
- $find etc home apps -depth -print | clio -ivcdC65536 -o /dev/rmt0
- $find /etc -name "passwd*" -exec grep "cnscn" {} \; #看是否存在cnscn用户
- $find . -name "yao*" | xargs file
- $find . -name "yao*" | xargs echo "" > /tmp/core.log
- $find . -name "yao*" | xargs chmod o-w
如果用find + sed就可以很方便的修改文件。比如:
XML/HTML代码
- find ./ -exec grep "xxx:80" '{}' \; -exec sed -i 's/xxx:80/\*:80/g' {} \;
由于以前是直接写死IP的,文件也比较多,所以用find直接全文处理一下,轻松好多。