linux中args工具

linux中args工具

2023年7月26日发(作者:)

linux中args⼯具三、xargsxargs - build and execute command lines from standard input在使⽤find命令的-exec选项处理匹配到的⽂件时, find命令将所有匹配到的⽂件⼀起传递给exec执⾏。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运⾏⼏分钟之后,就会出现 溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的⽤处所在,特别是与find命令⼀起使⽤。find命令把匹配到的⽂件传递给xargs命令,⽽xargs命令每次只获取⼀部分⽂件⽽不是全部,不像-exec选项那样。这样它可以先处理最先获取的⼀部分⽂件,然后是下⼀批,并如此继续下去。在有些系统中,使⽤-exec选项会为处理每⼀个匹配到的⽂件⽽发起⼀个相应的进程,并⾮将匹配到的⽂件全部作为参数⼀次执⾏;这样在有些情况下就会出现进程过多,系统性能下降的问题,因⽽效率不⾼;⽽使⽤xargs命令则只有⼀个进程。另外,在使⽤xargs命令时,究竟是⼀次获取所有的参数,还是分批取得参数,以及每⼀次获取参数的数⽬都会根据该命令的选项及系统内核中相应的可调参数来确定。来看看xargs命令是如何同find命令⼀起使⽤的,并给出⼀些例⼦。下⾯的例⼦查找系统中的每⼀个普通⽂件,然后使⽤xargs命令来测试它们分别属于哪类⽂件#find . -type f -print | xargs file在当前⽬录下查找所有⽤户具有读、写和执⾏权限的⽂件,并收回相应的写权限:# ls -l# find . -perm -7 -print | xargs chmod o-w# ls -l

⽤grep命令在所有的普通⽂件中搜索hello这个词:# find . -type f -print | xargs grep "hello"⽤grep命令在当前⽬录下的所有普通⽂件中搜索hello这个词:# find . -name * -type f -print | xargs grep "hello"

注意,在上⾯的例⼦中, ⽤来取消find命令中的*在shell中的特殊含义。find命令配合使⽤exec和xargs可以使⽤户对所匹配到的⽂件执⾏⼏乎所有的命令。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1690360004a337639.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信