find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。
-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{} 花括号代表前面find查找出来的文件名。
实例1:ls -l命令放在find命令的-exec选项中
find . -type f -exec ls -l {} \;
实例2:在目录中查找更改时间在n日以前的文件并删除它们
find . -type f -mtime +14 -exec rm {} \;
实例3:在目录中查找更改时间在n日以前的文件并删除它们,在删除之前先给出提示
find . -name "*.log" -mtime +5 -ok rm {} \;
实例4:-exec中使用grep命令
find /etc -name "passwd*" -exec grep "root" {} \;
实例5:查找文件移动到指定目录
find . -name "*.log" -exec mv {} .. \;
实例6:用exec选项执行cp命令
find . -name "*.log" -exec cp {} test3 \;