linux下xargs和管道的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下xargs和管道的区别相关的知识,希望对你有一定的参考价值。
管道将前面的标准输出作为后面的标准输入,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和管道的区别的主要内容,如果未能解决你的问题,请参考以下文章