Potok (pipe)
Jednokierunkowy strumień bajtów między dwoma procesami — to dzięki niemu działa | w powłoce.
Jądro tworzy bufor, daje jednemu procesowi deskryptor pliku do zapisu, a drugiemu do odczytu. Piszący blokuje się, gdy bufor jest pełny, czytający — gdy pusty, co daje kontrolę przepływu za darmo. W Linuksie bufor ma zwykle 64 kB.
Na tym mechanizmie opiera się filozofia Uniksa: małe programy robiące jedną rzecz, połączone strumieniami tekstu. Potok nazwany, tworzony przez mkfifo, żyje w systemie plików i pozwala połączyć niezależne procesy. Częsty efekt to SIGPIPE — zapis do potoku, którego czytelnik zniknął, domyślnie zabija proces, dlatego head potrafi uciszyć komendy produkujące więcej danych, niż trzeba.