Do stworzenia nienazwanego potoku służy wywołanie systemowe . Prototyp funkcji bibliotecznej znajduje się w pliku nagłówkowym unistd.h i ma następującą postać:

int pipe(int fields); Funkcja umieszcza dwa nowe deskryptory plików w tablicy ( – deskryptor pliku tylko do odczytu, – deskryptor pliku tylko do zapisu) i zwraca 0 w przypadku powodzenia lub -1 w przypadku błędu.

Funkcja często używana jest w połączeniu z funkcją w celu zapewnienia komunikacji między procesem macierzystym oraz jego procesami potomnymi.

Złożony przykład Przykład poniżej implementuje korektor pisowni dla zasobów sieciowych wskazywanych przez URL. Znak „\” służy umieszczeniu wszystkich sześciu linii w jednej linii wiersza poleceń.

curl "https://en.wikipedia.org/wiki/Pipeline_(Unix)" | \ sed 's/[^a-zA-Z ]/ /g' | \ tr 'A-Z ' 'a-z\n' | \ grep '[a-z]' | \ sort -u | \ comm -23 - /usr/share/dict/words