什么是管道?

导语

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

>>>>

管道

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

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

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

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

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

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

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

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

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

结语

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

每周一言

如果有不一样,

就努力不让它一样。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180128G0B6V000?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券