How did UNIX programs interact with each other, before the invention of the pipe

historical-unixpipe

I read recently, that the concept of a pipe did not come about before UNIX version 3.

But since UNIX was always about simple programs, that do one thing, composed to do more complex things: How did they manage that, without pipes in the first place?

Best Answer

IO redirection was not present in the initial PDP-7 implementation (circa 1969) but was added very shortly thereafter. With that, you can implement the moral equivalent of a pipe:

prog1 | prog2

could be implemented with

prog1 > tempfile
prog2 < tempfile
rm tempfile

In fact, pipes are often explained using this model.

The paper The Evolution of the Unix Time-sharing System by Ritchie is highly recommended for early Unix history.  It states, "Pipes appeared in Unix in 1972".

Related Question