码迷,mamicode.com
首页 > 系统相关 > 详细

linux下xargs和管道的区别

时间:2017-08-24 14:56:37      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:can   键盘输入   管道   命令   通过   help   回车   输出   org   

管道将前面的标准输出作为后面的标准输入,xargs则将标准输入作为命令的参数

你可以试试运行如下代码:

echo "--help"|cat
echo "--help"|xargs cat

结果如下:

技术分享

如果你直接在命令行输入cat后回车,而不输入命令参数,这时cat会等待标准输入,你通过键盘输入内容并按回车来,cat进程会读取输入并原样返回。

所以如果此时你输入--help,那么cat程序会在标准输出上输出--help

技术分享

也就是说,

  • 管道符 | 所传递给程序的不是你简单地在程序名后面输入的参数,它们会被程序内部的读取功能如scanf和gets等接收
  • xargs则是将内容作为普通的参数传递给程序,在这个例子中相当于你手写了 cat --help,系统会输出cat的帮助文档

来自:http://forum.ubuntu.org.cn/viewtopic.php?t=354669

linux下xargs和管道的区别

标签:can   键盘输入   管道   命令   通过   help   回车   输出   org   

原文地址:http://www.cnblogs.com/lexiaofei/p/7422826.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!