管道是Linux和类Unix操作系统中最有价值的命令行功能之一。管道被用于各种应用中。如果你看任何一篇Linux命令行文章,你会注意到管道经常出现。
竖条符号
|
表示管道。由于管道的存在,可以将一个命令的输出作为输入提供给另一个命令。
结果,一个命令的输出可以用作另一命令的输入,该命令的输出也可以用作下一命令的输出,以此类推。
因此,您不局限于单个管道命令。你可以随心所欲地堆叠它们。
换句话说,管道是Linux中使用的一种重定向形式,用于将一个程序的输出发送到另一个程序进行进一步处理。管道允许您执行shell不支持的开箱即用操作。
管道或未命名管道命令的语法为
|
任意两个命令之间的字符:
命令1|命令2|…|命令N
管道在Linux中如何工作
要了解管道是如何工作的,让我们看看下面的示例。
我们有一个目录,里面有很多不同类型的文件。所以我们想知道这个目录中有多少特定类型的文件。
因此,我们可以使用
ls
命令
ls-l
我们将使用grep来分隔我们要查找的文件类型。例如,我们查找带有单词的文件
txt
以其名称或作为文件扩展名。
我们将使用特殊的shell字符
|
指导
ls
'输出到
grep
.
ls|grep txt
从上图中可以看到,的输出
ls
命令未发送到终端窗口。
因此,结果不会显示在屏幕上。相反,它被重定向到的输入
grep
命令我们上面看到的输出来自
grep
,此链中的最后一个命令。
现在,让我们开始延伸我们的链条。我们可以数文件
txt
通过添加
厕所
命令到链。我们将使用
-l
选项(行数)
厕所
.
ls|grep-txt|wc-l
在上面的例子中,
grep
不再是链中的最后一个命令,因此我们看不到它的输出。相反,的输出
grep
被馈送到
厕所
命令
我们在终端窗口中看到的结果来自
厕所
。它报告了两个文件,
txt
在目录中。
Linux中的命名管道是什么?
正如名称本身所暗示的,这些都是有名称的管道。常规管道和命名管道之间的主要区别之一是
命名管道在文件系统中存在
。也就是说,它们像文件一样显示。
Linux中的命名管道是一种使用指定名称的管道将信息从一个计算机进程传递到另一个计算机过程的方法。命名管道也称为FIFO,代表
先进先出
.
可以使用创建命名管道
mkfifo
命令例如
<
密码
>
mkfifo mypipe
</
密码
>
代码语言:
HTML,XML
(
xml
)
您可以通过
位。
ls-l mypipe
prw-r-r--
1.
根
根
0
三月
20 12
:58
mypipe
代码语言:
CSS
(
css
)
命名管道是文件系统本身上的文件。与标准管道不同,命名管道作为文件系统的一部分进行访问,就像任何其他文件类型一样。
命名管道内容驻留在内存中,而不是写入磁盘。因此,只有当管道的两端都打开时,它才能通过。在管道的另一端打开并读取之前,您可以多次对管道进行写入。
使用命名管道可以建立一个进程,在该进程中,一个进程向管道写入,另一个进程从管道读取,而不需要太多时间或仔细地编排它们的交互。
要了解命名管道是如何工作的,让我们看看下面的示例。让我们首先创建命名管道:
mkfifo mypipe
现在让我们使用这个管道来使用消息。
尾部-f mypipe
打开另一个终端窗口,向该管道写入消息:
回响
你好
>>mypipe
代码语言:
PHP
(
php
)
现在,在第一个窗口中,您可以看到打印出来的“hi”:
尾部-f管1
你好
因为它是一个管道,并且消息已经被消耗,如果我们检查文件大小,您可以看到它仍然是0:
ls-l mypipe
prw-r-r--
1.
根
根
0
三月
20 14
:11
mypipe
代码语言:
CSS
(
css
)
由于命名管道只是一个Linux文件,我们可以使用rm命令删除一个。因此,要删除我们在前面的示例中创建的管道,我们将运行:
rm mypipe
何时使用常规管道或命名管道
在Linux中使用常规管道而不是命名管道取决于我们要寻找的特性。有些可以是持久性、双向通信、具有文件名、创建筛选器和限制访问权限。
例如,如果我们想多次过滤命令的输出,使用匿名管道似乎是最合适的选择。
另一方面,如果我们需要一个文件名,并且不想将数据存储在磁盘上,那么我们要寻找的是一个命名管道。
总之,下次您在Linux终端上使用命令时,发现自己在命令之间移动数据时,希望管道能使处理过程快速而简单。
结论
本文向您展示了在Linux命令中使用管道时的多功能性。尽管如此,它相对简单,但可以解决各种复杂的查询。
此外,此命令行工具非常简单,可与UNIX和Linux平台配合使用。
了解更多关于
管
命令,请参阅其手册页。
相关推荐
你可能听说过你的保险公司或执法部门鼓励你记录你的IMEI。你甚至可能在手机的设置或设备包装中看到过它。不太清楚的是,IMEI号码实际上是用来做什么的。 那么,IMEI号码到底是什么,你是如何找到你的号码的? 什么是IMEI号码? 苹果 国际移动设备标识(IMEI)是每个移动终端的唯一数字标识符。IMEI编号有助于区分每个设备。例如,如果你把手机拿去修理,他们会使用IMEI跟踪它,以将其与其他数百万
坐在图书馆里,你的iPhone连不到Wi—Fi?出去旅行你的手机信号坏了?如果您在iPhone上连接互联网时遇到问题,本指南适合您。 重置iPhone的网络设置通常是解决所有Wi-Fi和手机问题的最有效方法。下面,我们将讨论你应该何时重置iPhone的网络设置,它做了什么,以及如何轻松完成这一操作。 何时应重置网络设置? 如果您似乎无法连接到Wi—Fi或蜂窝网络,有问题保持连接,遇到错误,故障和滞
你知道你的超级强大的显卡宁愿降低它的性能也不愿更快地旋转它的风扇吗? 不幸的是,这是事实,但你可以调整你的GPU风扇来解锁更好的GPU性能,在这个过程中提供更低的GPU温度。你甚至可以从你的图形处理器中获得一些额外的寿命! 为什么要使用自定义GPU风扇曲线? Jhet Borja/MakeUseOf 显卡很少达到真正高的风扇速度,通常在达到80%之前就达到了热节流阈值。这可能是因为制造商不希望他们
Windows 11对其前身进行了多项改进,只要你的电脑满足某些要求,就可以免费从Windows 10升级。然而,与支持老款Windows 8设备的Windows 10不同,Windows 11需要更高级的硬件。 安装Windows 11的最低要求 如果你的电脑只有几年历史,你很有可能无法运行Windows 11。微软网站列出了以下基本硬件要求。该公司明确表示,如果Windows用户不符合要求,他
今天,我们将深入了解洋葱路由器,它的首字母缩写为Tor。当然,它可能在网络安全界享有暗网浏览器的声誉。 但不要因为少数坏人不时使用这个强大的隐私工具就诋毁它。尽管Tor的用户更黑,但它提供了无与伦比的匿名性,可以帮助任何人保护自己的隐私。 Tor的核心是保护用户的个人隐私以及他们进行保密通信的自由。 Tor是如何工作的 互联网有很多方法可以识别你,但最简单、最常见的方法是通过你的IP地址。它的功能
回到顶部