find命令语法:find [path...] [expression]
find命令参数:-print、-exec、-ok (详细解释参考链接1和链接2)
find命令选项:-name、-perm、-prune 、-user 、-group、-mtime -n +n 、-nogroup 、-nouser、-newer file1 ! file2 、-type [bdcplf]、-size n、-depth、-mount、-follow (详细解释参考链接1)
1、在/usr目录下找出大小超过10MB的文件?
# find /usr -size +10M
2、在整个系统中查找内存信息转储文件(core dump) ,然后把结果保存到/tmp/core.log 文件中:
# find / -name "core" -print | xargs echo "" >/tmp/core.log
解释:通过例子
# echo "HelloWorld" | xargs echo "This is" > core.txt
同命令
# echo "This is" > core.txt "HelloWorld"
# echo > core.txt "This is" "HelloWorld"
# > core.txt echo "This is" "HelloWorld"
,可以发现 core.txt 内容为:This is HelloWorld. 同时“is”和“HelloWorld”之间自带空格。同样道理,在#find / -name "core" -print | xargs echo "" >/tmp/core.log中,“|” 前面通过-print参数将find的匹配内容输出到标准输出,然后输入到文件core.log。
xargs的作用是将参数列表转换成小块分段传递给其它命令,以避免参数过长的问题;这也是为什么使用xargs 而非-exec的原因之一,可以参照链接3.
3、删除3天以前的所有东西:
# find ./ -mtime +3 -print | xargs rm -f -r ( 类似# find . -ctime +3 -exec rm -rf {} \; ) 注意{}与\之间空格。
4、查找gx目录下所有不是755权限的文件,并赋予权限755:
(......未完待续......)
链接1: 【日常小记】linux中强大且常用命令:find、grep
链接3: 每天一个linux命令(21):find命令之xargs