Linux环境最常用的命令之一是find,这里把一些稍微进阶的用法整理一下
find path -option [ -print ] [ -exec -ok command ] {} \;
查找文件后执行命令,其中command是执行的命令,比如ls -l
,{}
会被查找到的文件替换,一般使用转义符号保护,避免被shell扩展,最后以\;
结尾(注意有一个空格)
- exec command \{\} \;
find . -size +100M -and -name "*.log" | xargs rm -f
或者
find . -size +100M -and -name "*.log" -exec rm -f \{\} \;
find . -mtime +7 -and -name "*.log" -exec rm -f \{\} \;
find . -name "*.war" -o -name "*.jar"
find . -mtime +7 -and -name "*.log" -exec mv {} ../backup/ \;