40年前,Unix操作系统横空出世,Unix不仅仅带来了一个操作系统,还创造C语言,Socket,开源,黑客等等文化,这些文化影响着整个计算机世界的文明,直到今天。

如果说Unix是计算机文明中最伟大的发明,那么,Unix下的Pipe管道就是跟随Unix所带来的另一个伟大的发明。管道的出现,解决的就是让不同功能的程序可以互相连通通讯,从而可以让软件开发,程序开发更加的“高内聚,低耦合”,从而可以让程序“Do one thing, Do it well”,从而可以让程序“Keep it Simple Stupid”等等,这一哲学引影了一代又一代的软件架构,直到今天的云计算。

管道的发名者叫,Malcolm Douglas McIlroy,他也是Unix的创建者,是Unix文化的缔造者之一。他归纳的Unix哲学如下:

程序应该只关注一个目标,并尽可能把它做好。让程序能够互相协同工作。应该让程序处理文本数据流,因为这是一个通用的接口。

下面是管道在1964年10月11日,出现的第一个打印稿,下面是扫描件。

全文如下:

我就不翻译了,因为这段文字足够的简单,就像连接花园中浇花用的软管一样,相信你不但能够读懂它,还能从中收益。

(全文完)

https://coolshell.cn/articles/1351.html

UNIX PIPES 管道原稿的更多相关文章

  1. Unix Pipes to Javascript Pipes

    Unix Pipes Unix管道扫描稿 简单样例: $ netstat -apn | grep 8080 相信这个大家经常使用,这里就不细说了. 那么管道基本思想是什么呢? 让每个程序只完成一件事, ...

  2. 浅谈管道模型(Pipeline)

    本篇和大家谈谈一种通用的设计与处理模型--Pipeline(管道). Pipeline简单介绍 Pipeline模型最早被使用在Unix操作系统中.据称,假设说Unix是计算机文明中最伟大的发明,那么 ...

  3. python标准库介绍——35 pipes 模块详解

    ==pipes 模块== (只用于 Unix) ``pipes`` 模块提供了 "转换管道 (conversion pipelines)" 的支持. 你可以创建包含许多外部工具调用 ...

  4. 控制结构(9) 管道(pipeline)

    // 上一篇:线性化(linearization) // 下一篇:指令序列(opcode) 最近阅读了酷壳上的一篇深度好文:LINUX PID 1 和 SYSTEMD.这篇文章介绍了systemd干掉 ...

  5. 控制结构(9): 管道(pipeline)

    // 上一篇:线性化(linearization) // 下一篇:指令序列(opcode) 最近阅读了酷壳上的一篇深度好文:LINUX PID 1 和 SYSTEMD.这篇文章介绍了systemd干掉 ...

  6. helm-chart3,函数和管道

    目录 一个简单的函数 管道 和几个函数 一个简单的函数 quote : 引入字符串,具体看示例: apiVersion: v1 kind: ConfigMap metadata: name: {{ . ...

  7. Nest.js 管道

    Docs: https://docs.nestjs.com/pipes 管道将输入数据转换为所需的输出.此外,它可以处理验证,当数据不正确时可能会抛出异常. 内置的 pipe import { Arg ...

  8. [LeetCode] Word Frequency 单词频率

    Write a bash script to calculate the frequency of each word in a text file words.txt. For simplicity ...

  9. xv6课本翻译之——第0章 操作系统接口

    Chapter 0 第0章 Operating system interfaces 操作系统接口 The job of an operating system is to share a comput ...

随机推荐

  1. PIE SDK专题制图打开模板

    1.    功能简介 在PIE SDK中,所有的制图元素.视图范围以及排版等都可以保存成一个模板,以供多次重复使用.使用时只需要打开该模板,加载相应数据,就可以直接出图了,省去了重复制作图幅的麻烦,方 ...

  2. PIE SDK创建掩膜

      1.算法功能简介 图像掩膜(Mask)用选定的图像.图形或物体,对处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程.掩膜是一种图像滤镜的模板,实用掩膜经常处理的是遥感图像.当提取道 ...

  3. PIE SDK去相关拉伸

    1.算法功能简介 由于高度相关的数据集经常生成十分柔和的彩色图像,因此经常使用 去相关拉伸工具来体消除多光谱数据集中的高度相关性, 从而生成一幅色彩亮丽的彩色合成图像.去相关拉伸需要 3 个输入波段, ...

  4. Android报错

      Error:Execution failed for task ':app:processDebugResources'. > com.android.ide.common.process. ...

  5. Oracle RAC集群搭建(zero)--全是报错

    1. 提示Check if the DISPLAYvariable is set.    Failed<<<< 解决方案: #xhost +  //切换到root用户输入 #s ...

  6. LeetCode 112.路径总和(C++)

    给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标和 sum = 22 ...

  7. unity向量-数学-三角函数

    1.如何在unity写cos60 Mathf.Cos(Mathf.Deg2Rad * ) Deg2Rad将 60 角度转换为弧度,因为里面参数只能填弧度数 2.计算一个Vector3绕旋转中心旋转指定 ...

  8. Linux虚拟内存系统详解

    本文章以Linux为例,讲解一下虚拟内存系统的工作原理,windows系统的原理也是大同小异,有兴趣的读者可以自行查阅相关资料. linux内核以及它管理用户内存的机制,下面我们以应用程序gonzo的 ...

  9. Coursera 机器学习 第9章(下) Recommender Systems 学习笔记

    9.5 Predicting Movie Ratings9.5.1 Problem Formulation推荐系统.推荐系统的问题表述:电影推荐.根据用户对已看过电影的打分来推测用户对其未打分的电影将 ...

  10. Linux服务器性能评估与优化--转

    http://www.itlearner.com/article/4553 一.影响Linux服务器性能的因素 1. 操作系统级 Ø       CPU Ø       内存 Ø       磁盘I/ ...