管道符的用法是将第一个命令的结果传递给第二个命令作为输入
管道符的使用有两个条件:
格式: 命令1 | 命令2
常见应用举例:netstat -an | grep ESTABLISHED | wc -l #查看服务器上连接了多少客户端
wc -l 是查看输入了多少行
利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。 连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。下面来看看管道是如何在构造一条Linux命令中得到应用的。
注意:
1、管道命令只处理前一个命令正确输出,不处理错误输出。
2、管道命令右边命令,必须能够接收标准输入流命令才行。
这条命令使用一个管道符“|”建立了一个管道。管道将rpm -qa命令的输出(包括系统中所有安装的RPM包)作为grep命令的输入,从而列出带有licq字符的RPM包来。
这条命令使用了两个管道,利用第一个管道将cat命令(显示passwd文件的内容)的输出送给grep命令,grep命令找出含有“/bin /bash”的所有行;第二个管道将grep的输出送给wc命令,wc命令统计出输入中的行数。这个命令的功能在于找出系统中有多少个用户使用bash。
区别是:
1、左边的命令应该有标准输出 | 右边的命令应该接受标准输入
左边的命令应该有标准输出 >右边只能是文件
左边的命令应该需要标准输入 <右边只能是文件
2、管道触发两个子进程执行"|"两边的程序;而重定向是在一个进程内执行
这些都是网上总结很多的,其实只要多加清楚用法,也一定有自己的一份不同描述。
将一条命令的执行结果赋给一个变量的方法有:1、使用反引号``
(数字键1左边的键,tab键上面,英文方式输入)
如:a=`echo
"hello
world"`
即将命令
echo
"hello
world"的输出赋给变量a
2、可以使用
$(())
如:a=$(echo
"hello
world")
即
将命令echo
"hello
world"的输出赋给变量a
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)