Der Begriff Pipe leitet sich vom englischen Wort „Pipeline“ ab, das übersetzt so viel wie „Rohrleitung“ heißt. In der Informatik ist eine Pipe ein Datenstrom, der zwischen zwei Prozessen abläuft, die entweder eng miteinander verwandt sind oder auch keinen gemeinsamen Ursprung haben. Das bedeutet, dass das Ergebnis, das von einem Programm ausgeworfen wird, als Eingabe für ein anderes Programm dient. Dies ermöglicht es Ihnen, unter anderem größere Probleme in kleinere Teilprobleme aufzuteilen und so eine bessere Übersicht zu erhalten.
In Linux gibt es zwei verschiedene Arten von Pipes, die unbenannten Pipes oder „Unnamed Pipes“ und die benannten Pipes oder „Named Pipes“.
Während unbenannte bzw. anonyme Pipes nur zwischen Prozessen verwendet werden, die eng miteinander verwandt sind, ermöglichen benannte Pipes oder FIFO (sie basieren auf dem Prinzip „First In – First Out“), die Kommunikation zwischen zwei nicht verwandten Prozessen, die sich auch auf verschiedenen Rechnern innerhalb desselben Netzwerks befinden können. Im Gegensatz zu den unbenannten Pipes, ermöglichen benannte Pipes auch die bidirektionale Kommunikation und nicht nur die einseitige Kommunikation (ein Prozess schreibt, während der andere nur liest).