Een named pipe is een bestand dat als een pipe functioneert. Je plaatst iets in het bestand en het komt er aan de andere kant weer uit. Dus wordt het een FIFO genoemd, of First-In-First-Out: het eerste dat je in de pipe plaatst is het eerste wat er aan de andere kant weer uitkomt.
Als je naar een named pipe schrijft, zal het proces dat naar de pipe schrijft niet eindigen totdat de er naar toe geschreven informatie vanuit de pipe wordt gelezen. Als je vanuit een named pipe leest, zal het lezende proces net zolang wachten totdat er iets te lezen is voordat het eindigt. De grootte van de pipe is altijd nul --- er worden geen gegevens in bewaard, het koppelt slechts twee processen net zoals met het symbool | van de shell. Aangezien deze pipe echter een naam heeft, hoeven de twee processen niet op dezelfde opdrachtregel voor te komen of zelfs door dezelfde gebruiker te hoeven uitgevoerd.
Je kunt het als volgt uitproberen:
Maak de pipe.
Plaats een proces in de achtergrond waarmee wordt geprobeerd "hello" naar de pipe te schrijven. Het proces keert niet terug vanuit de achtergrond; het wacht op iemand die vanuit de pipe leest.
Op dit punt zou het echo-proces terug moeten keren, aangezien cat vanuit de pipe leest, en het cat-proces zal hello afdrukken.
Je kunt pipes net als ieder ander bestand verwijderen.