linux里面什么是管道符?

linux里面什么是管道符?,第1张

题主你好,

首先, linux下的管道符使用"竖杠"表示:

|

它的作用是:

连接两个命令,将第一个命令的输出作为第二个命令的输入.

形象一点的比喻:

管道符好比流水线上的传送带,比如,一个流水线是由两步组成的,先由第一道工序将黄桃洗净,然后通过传送带将洗净的黄桃送到第二道工序装罐,用管道的思维去处理这个过程就是:

清洗 黄桃 | 装罐

需要注意的是,其实每个过程都是由 "动作+被作用对象"组成,也就是说,上面的例子其实是:

清洗 黄桃

装罐 洗净的黄桃

这两步组成的,但由于管道符的使用,除了第一道工序需要"被作用对象"外,后面的工序使用的是管道符传过来的"前一道工序处理过的对象".

举例来说,使用ls和grep这两个命令实现只输出文件的详细信息,不输出目录的详细信息.正常情况下这俩半个命令的用法是:

ls 选项 路径

grep 模式 文件流

而使用管道连在一起的写法:

ls -l /root/ok/tmp | grep '^-'

*.在使用管道符的组合命令中, 只有第一个命令需要 "被作用对象"

希望对题主有帮助,欢迎追问

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

注意:

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

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

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

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

区别是:

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

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

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

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

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

Linux中的 /#和#的区别为:执行路径不同、使用用户不同、切换不同。

一、执行路径不同

1、/#:/#的路径目录是根目录,在绝对路径根目录下执行 *** 作。

2、#:#的路径目录是家目录,在相对路径家目录下执行 *** 作。

二、使用用户不同

1、/#:/#针对的使用用户为系统默认创建的用户,即root用户。

2、#:#针对的使用用户为于非系统默认创建的该用户。

三、切换不同

1、/#:/#可以直接切换到其他路径目录下,不需要退回到上级路径目录。

2、#:#不可以直接切换到其他路径目录下,需要退回到上级路径目录。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/5908060.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存