
正文
linux命令管道符 linux中管道命令的作用和用法
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
linux里面什么是管道符?
题主你好,
首先, linux下linux命令管道符的管道符使用"竖杠"表示:
|
它linux命令管道符的作用是:
连接两个命令,将第一个命令的输出作为第二个命令的输入.
形象一点的比喻:
管道符好比流水线上的传送带,比如,一个流水线是由两步组成的,先由第一道工序将黄桃洗净,然后通过传送带将洗净的黄桃送到第二道工序装罐,用管道的思维去处理这个过程就是:
清洗 黄桃 | 装罐
需要注意的是,其实每个过程都是由 "动作+被作用对象"组成,也就是说,上面的例子其实是:
清洗 黄桃
装罐 洗净的黄桃
这两步组成的,但由于管道符的使用,除linux命令管道符了第一道工序需要"被作用对象"外,后面的工序使用的是管道符传过来的"前一道工序处理过的对象".
举例来说,使用ls和grep这两个命令实现只输出文件的详细信息,不输出目录的详细信息.正常情况下这俩半个命令的用法是:
ls 选项 路径
grep 模式 文件流
而使用管道连在一起的写法:
ls -l /root/ok/tmp | grep '^-'
*.在使用管道符的组合命令中, 只有第一个命令需要 "被作用对象"
希望对题主有帮助,欢迎追问
相关问答
Q1: linux--10、管道命令符和命令行通配符
管道命令符 " | " 的作用是将前一个命令的标准输出当作后一个命令的标准输入,格式为"命令A|命令B"。
例如:
搜索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 后可以查看到本机内核的版本与架构信息(反引号里面的命令会被执行):
Q2: 16. Linux 管道符( ‘|’ )
利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。 连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。下面来看看管道是如何在构造一条Linux命令中得到应用的。
注意:
1、管道命令只处理前一个命令正确输出,不处理错误输出。
2、管道命令右边命令,必须能够接收标准输入流命令才行。
这条命令使用一个管道符“|”建立linux命令管道符了一个管道。管道将rpm -qa命令的输出(包括系统中所有安装的RPM包)作为grep命令的输入,从而列出带有licq字符的RPM包来。
这条命令使用linux命令管道符了两个管道,利用第一个管道将cat命令(显示passwd文件的内容)的输出送给grep命令,grep命令找出含有“/bin /bash”的所有行linux命令管道符;第二个管道将grep的输出送给wc命令,wc命令统计出输入中的行数。这个命令的功能在于找出系统中有多少个用户使用bash。
区别是:
1、左边的命令应该有标准输出 | 右边的命令应该接受标准输入
左边的命令应该有标准输出 右边只能是文件
左边的命令应该需要标准输入 右边只能是文件
2、管道触发两个子进程执行"|"两边的程序;而重定向是在一个进程内执行
这些都是网上总结很多的,其实只要多加清楚用法,也一定有自己的一份不同描述。
Q3: linux运算符 ; & && | 得作用
用;号隔开每个命令, 每个命令按照从左到右的顺序,顺序执行, 彼此之间不关心是否失败, 所有命令都会执行。
上一条命令的输出,作为下一条命令参数
方式: command1 | command2
Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推
利用一个管道
rpm -qa|grep licq
这条命令使用一个管道符“|”建立了一个管道。管道将rpm -qa命令的输出(包括系统中所有安装的RPM包)作为grep命令的输入,从而列出带有licq字符的RPM包来。
利用多个管道
cat /etc/passwd | grep /bin/bash | wc -l
这条命令使用了两个管道,利用第一个管道将cat命令(显示passwd文件的内容)的输出送给grep命令,grep命令找出含有“/bin /bash”的所有行;第二个管道将grep的输出送给wc命令,wc命令统计出输入中的行数。这个命令的功能在于找出系统中有多少个用户使用bash
放在启动参数后面表示设置此进程为后台进程
方式: command1
默认情况下,进程是前台进程,这时就把Shell给占据了,我们无法进行其他操作,对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个''实现这个目的。
shell 在执行某个命令的时候,会返回一个返回值,该返回值保存在 shell 变量 ? 中,可以通过 $? 获取当前变量的值,当 $?==0 时表示执行成功,当时 $?==1 (我认为是非0的数,返回值在0-255间),表示执行失败。
有时候,下一条命令依赖前一条命令是否执行成功。如:在成功地执行一条命令之后再执行另一条命令,或者在一条命令执行失败后再执行另一条命令等。shell 提供了 和 || 来实现命令执行控制的功能,shell 将根据 或 || 前面命令的返回值来控制其后面命令的执行。
语法格式如下:
command1 command2 [ command3 ...]
命令之间使用 连接,实现逻辑与的功能。
只有在 左边的命令返回真(命令返回值 $? == 0 ), 右边的命令才会被执行。
只要有一个命令返回假(命令返回值 $? == 1 ),后面的命令就不会被执行。
逻辑或的功能
语法格式如下:
command1 || command2 [|| command3 ...]
命令之间使用 || 连接,实现逻辑或的功能。
只有在 || 左边的命令返回假(命令返回值 $? == 1 ),
|| 右边的命令才会被执行。这和 c 语言中的逻辑或语法功能相同,即实现短路逻辑或操作。 只要有一个命令返回真(命令返回值 $? == 0 ),后面的命令就不会被执行。 –直到返回真的地方停止执行。
举例, ping 命令判断存活主机
注意 要连起来写
参考
Q4: linux中管道符的使用
linux中管道符的使用非常普遍
管道符的用法是将第一个命令的结果传递给第二个命令作为输入
管道符的使用有两个条件:
格式: 命令1 | 命令2
常见应用举例:netstat -an | grep ESTABLISHED | wc -l #查看服务器上连接了多少客户端
wc -l 是查看输入了多少行
Q5: Linux中的管道如何理解
简单来说就是,一个命令的结果作为另外一个命令(结果)的输入,管道是linux提供的一种常见的进程通信工具,也是很多shell命令能够灵活组合产生强大用途的一个重要工具。
管道是Linux由Unix那里继承过来的进程间的通信机制,它是Unix早期的一个重要通信机制。其思想是,在内存中创建一个共享文件,从而使通信双方利用这个共享文件来传递信息。由于这种方式具有单向传递数据的特点,所以这个作为传递消息的共享文件就叫做“管道”。
在管道的具体实现中,根据通信所使用的的文件是否具有名称,有“匿名管道”和“命名管道”。
关于linux命令管道符和linux中管道命令的作用和用法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








