find /home/mysql/mysql_$i/log/ -mtime +30 -name "*.log*" -exec rm -f {} \;

ind . -name “.ab” 意思是从当前目录查找以.ab为文件后缀名的所有文件 -exec 是表示查找后紧接着执行的命令 因为rm 不接受管道输入,所以不能写成 find . -name “.ab” | rm 的形似,rm -f 就是删除文件的意思, {} 代表的是find 到的结果传给-exec参数 ,而使用-exec 参数必须用分号;结尾 但是在shell中不懂分号;是什么鬼,所有要用转义符加分号,所以就有了;

对符合条件的文件执行所给的Linux 命令,而不询问用户是否需要执行该命令。{}表示命令的参数即为所找到的文件,以;表示command命令的结束。\是转义符,因为分号在命令中还有它用途,所以就用一个\来限定表示这是一个分号而不是表示其它意思。

猜你喜欢

转载自blog.csdn.net/shunnianlv/article/details/103253695