管道和xargs的理解

最近学习了linux的一些命令,看到一连串的管道符合xargs就懵球子了。就仔仔细细的学了学二者的区别

先总体说一下区别:

管道符 |  的意思就是说,将前一个命令的标准输出作为后面一个命令的标准输入

xargs 的意思就是说,把标准输入格式化为一行,作为后面的命令的命令行参数

 

下面我们举个栗子 :

看懂了没? 

cat file.txt 我们看到文件里面是什么内容,然后我们再次 cat file.txt | xargs 一下,发现结果都变成一行了,这就是所谓的格式化为一行。

接下来我们看,cat file.txt | cat  这里再次输出了file.txt文件的内容,这就是前面的标准输出作为了后面的标准输入。

最后我们再看这个 cat file.txt | xargs cat ,上面我们已经看到,命令执行到xargs时候,内容已经格式化为一行了,然后我们在将数据作为后面的命令的命令行参数(不同于标准输入

cat命令报错说没有这些目录,当然这些目录肯定不存在,都是一些随机键入的字符而已。

如果还没看懂,那就将这几个命令反复敲几次吧。书读百遍,其义自见!

posted @ 2017-09-12 17:52  Think-007  阅读(182)  评论(0编辑  收藏  举报