什么是管道?

● 每周一言

如果有不一样,就努力不让它一样。

导语

一说到管道,我们可能想到的是超级玛丽的下水道,亦或是曾经流行一时的小游戏flappy bird。而这里要讲的是计算机中的管道,确切的说是linux操作系统中的管道。那么,linux中的管道是什么?有什么作用?

管道

对于从事互联网行业的人来说,管道技术几乎每天都会用到。在计算机世界中,由于进程之间相互独立,信息无法交互。而计算机中的管道,就是一种解决进程间信息交互问题的手段。

fig1

管道类型分为两种:匿名管道和命名管道。

匿名管道指不带名字标识的管道,用于父进程与其子进程之间的通信。命名管道则是带有名字标识符的管道,支持任意两个进程之间的通信。

我们知道,计算机的信息通信方式分为单工通信、半双工通信及全双工通信三种,而管道属于半双工通信。半双工通信可以实现双向通信,但不能在两个方向上同时进行,必须交替进行。

fig2

当然,对于平常的bash和shell命令使用,是涉及不到匿名管道和命名管道这两个概念的,这两类管道一般出现在系统编程当中。

在bash和shell中,通常用“|” 在两个命令之间创建管道,这个“|”叫管道命令符

“|”管道命令符的作用是串联起一组命令的输入输出数据流。简单来讲就是,前一个命令执行后不回显结果,而是把结果通过“|”传递给后一个命令,以此类推直到没有管道符后终止命令,并回显最终结果。

fig3

比如命令:cat example.txt | wc -l。先按行读文件通过管道传递给wc命令计数。当然,这里也可以直接 wc -l example.txt 计数。

以上便是计算机中管道的介绍,敬请期待下节内容。

结语

感谢各位的耐心阅读,后续文章于每周日奉上,敬请期待。欢迎大家关注小斗公众号 对半独白

face

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值