xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据。xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代。
方法一:
当你尝试用rm 删除太多的文件,你可能得到一个错误信息:/bin/rm Argument list too long. 用xargs 去避免这个问题
find . -name '*.log' -print0 | xargs -0 rm -f
“.” 表示当前目录
‘*.log’ 表示匹配任何.log文件
其他的保持默认即可。
方法二:
今天删除网站的缓存文件40w+缓存记录,正常删除提示/usr/bin/rm: Argument list too long
#ls | xargs -n 90 rm -rf
执行这个完美解决,ls列出当前目录下的所有文件,以空格作为分隔, xargs是一个过滤器, -n 90 表示每90个文件作为一组,作为 命令 rm -rf 的参数,这样命令行就不会过长了。
友情提示:删除操作要谨慎!!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容