管道和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是直接提供参数的~