Min*_*nix 6 pipe historical-unix
我最近读到,在 UNIX 版本 3 之前没有出现管道的概念。
但是,由于 UNIX 总是关于简单的程序,它们只做一件事,然后组合起来做更复杂的事情:他们是如何在没有管道的情况下做到这一点的?
最初的 PDP-7 实现(大约 1969 年)中不存在 IO 重定向,但此后不久就添加了。有了这个,你可以实现一个管道的道德等价物:
prog1 | prog2
Run Code Online (Sandbox Code Playgroud)
可以用
prog1 > tempfile
prog2 < tempfile
rm tempfile
Run Code Online (Sandbox Code Playgroud)
事实上,管道经常使用这个模型来解释。
强烈推荐 Ritchie 撰写的论文The Evolution of the Unix Time-sharing System用于早期 Unix 历史。它指出,“管道于 1972 年出现在 Unix 中”。