find 命令-exec 参数与 xargs之间的区别
2013-10-23 08:55
375 查看
使用find命令的-exec选项处理匹配到的文件时,find命令将所有匹配到的文件一起传递给-exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,它可以按行处理,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。 在有些系统中,使用- e x e c选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高;而使用x a rg s命令则只有一个进程。另外,在使用xargs命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定。
生产环境一个下例子
find . -type f -mtime +7 -name "*.log" |xargs rm -ffind . -type f -mtime +7 -name "*.log" -exec rm -f {} \;
生产环境一个下例子
find . -type f -mtime +7 -name "*.log" |xargs rm -ffind . -type f -mtime +7 -name "*.log" -exec rm -f {} \;
相关文章推荐
- 关于 ‘--exec’ 参数( find 命令)及介绍 ‘xargs ’命令区别
- 关于 ‘--exec’ 参数( find 命令)及介绍 ‘xargs ’命令区别(新版)
- find命令中的-print -exec -ok参数区别
- 老男孩教育每日一题-2017年5月19日-使用find命令的时候 |xargs(管道xargs)与-exec有什么区别?
- 使用find命令时 |xargs(管道xargs)与-exec的区别
- find命令应用exec及xargs
- find命令的exec参数使用---Linux学习笔记
- Linux 中whereis 、find、 whic、 locate命令之间的区别
- find命令--xargs--exec
- grep命令参数列表过长?我们还有find、xargs和grep
- find -exec 与xargs 区别
- Linux find 命令 -exec 参数说明
- find只查当前目录 和 -exec和xargs区别
- 每天一个Linux命令(20)find命令_exec参数
- find命令的xargs参数的使用---Linux学习笔记
- freebsd find命令使用参数和Sed命令xargs命令详解
- find命令之xargs,exec
- linux下find命令报错:遗漏"-exec"的参数"
- find locate whereis which命令之间的区别
- Linux命令:find与exec参数的用法