管道和xargs

今天试了一下locate命令

locate passwd | ls -l,结果ls的是当前目录

应该改成locate passwd | xargs ls -l

 

在网上查了一下,管道是将上一个命令的标准输出作为下一个命令的标准输入

而xargs是将上一个命令的标准输出作为下一个命令的参数

 

用cat来说明

echo "abc" | cat

那么输出的就是字符串cat,相当于先输cat,回车,然后把abc输了进去

echo "abc" | xargs cat

那么输出的是cat文件的内容(如果有),相当于输入 cat abc,xargs是直接提供参数的~

posted @ 2012-02-22 13:18  mosakashaka  阅读(73)  评论(0编辑  收藏  举报