linux实现管道命令 linux 管道命令详解

linux--10、管道命令符和命令行通配符

管道命令符 " | " 的作用是将前一个命令的标准输出当作后一个命令的标准输入,格式为"命令A|命令B"。

创新互联主要从事成都网站建设、网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务揭阳,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

例如:

搜索rsyslogd进程: $ ps -ef | grep rsyslogd

用反野形式查看/etc 目录中有哪些文件: $ ls -l /etc/ | more

bash解释器支持多种文本通配符,包括:

我们之前在学文本查询搜索命令时就用到了通配符,例如,在 /etc 目录下搜索所有的以host开头的文件:

$ find /etc -name "host*"

另外,bash解释器还支持很多的特殊字符扩展:

例如:

先定义名称为PRICE的变量值为5

$ PRICE=5

输出“价格是5”:

输出“价格是$5”,但因为美元符号与代表变量取值的$符号冲突,所以需要用到转义字符:

使用单引号,变量将不再被取值:

执行 uname -a 后可以查看到本机内核的版本与架构信息(反引号里面的命令会被执行):

Linux中的管道如何理解

简单来说就是,一个命令的结果作为另外一个命令(结果)的输入,管道是linux提供的一种常见的进程通信工具,也是很多shell命令能够灵活组合产生强大用途的一个重要工具。

管道是Linux由Unix那里继承过来的进程间的通信机制,它是Unix早期的一个重要通信机制。其思想是,在内存中创建一个共享文件,从而使通信双方利用这个共享文件来传递信息。由于这种方式具有单向传递数据的特点,所以这个作为传递消息的共享文件就叫做“管道”。

在管道的具体实现中,根据通信所使用的的文件是否具有名称,有“匿名管道”和“命名管道”。

16. Linux 管道符( ‘|’ )

利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。 连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。下面来看看管道是如何在构造一条Linux命令中得到应用的。

注意:

1、管道命令只处理前一个命令正确输出,不处理错误输出。

2、管道命令右边命令,必须能够接收标准输入流命令才行。

这条命令使用一个管道符“|”建立了一个管道。管道将rpm -qa命令的输出(包括系统中所有安装的RPM包)作为grep命令的输入,从而列出带有licq字符的RPM包来。

这条命令使用了两个管道,利用第一个管道将cat命令(显示passwd文件的内容)的输出送给grep命令,grep命令找出含有“/bin /bash”的所有行;第二个管道将grep的输出送给wc命令,wc命令统计出输入中的行数。这个命令的功能在于找出系统中有多少个用户使用bash。

区别是:

1、左边的命令应该有标准输出 | 右边的命令应该接受标准输入

左边的命令应该有标准输出 右边只能是文件

左边的命令应该需要标准输入 右边只能是文件

2、管道触发两个子进程执行"|"两边的程序;而重定向是在一个进程内执行

这些都是网上总结很多的,其实只要多加清楚用法,也一定有自己的一份不同描述。


名称栏目:linux实现管道命令 linux 管道命令详解
文章网址:http://hbruida.cn/article/doisheh.html