shell 一些命令的异同

1 管道与 xargs
管道是实现“将前面的标准输出作为后面的标准输入”;xargs是实现“将标准输入作为命令的参数”
你可以试试运行:
echo “–help”|cat
echo “–help”|xargs cat

看看结果的不同。可以看到 echo ‘–help’ | cat 该命令输出的是echo的内容,也就是说将echo的内容当作cat处理的文件内容了,实际上就是echo命令的输出通过管道定向到cat的输入了。然后cat从其标准输入中读取待处理的文本内容。这等价于在test.txt文件中有一行字符 ‘–help’ 然后运行 cat test.txt 的效果。
而 echo ‘–help’ | xargs cat 等价于 cat –help 什么意思呢,就是xargs将其接受的字符串 –help 做成cat的一个命令参数来运行cat命令,同样 echo ‘test.c test.cpp’ | xargs cat 等价于 cat test.c test.cpp 此时会将test.c和test.cpp的内容都显示出来。

猜你喜欢

转载自blog.csdn.net/w_manhong/article/details/79484078