Základem meziprocesové komunikace v UNIXu jsou vstupy a výstupy. Každý program má k dispozici standardní vstup, standardní výstup a chybový výstup. Standardní vstup se bere ve výchozím případě od uživatele z klávesnice, výstupy jsou vypisovány na obrazovku. Všechny dosavadní výpisy byly standardní výstupy.
Užitečný bude příkaz cat: vypsání obsahu souboru na standardní výstup:
$ cat todo.txt 1) learn UNIX 2) ... 3) profit
Další užitečný příkaz je grep: filtrování podle zadaného vzorce:
$ grep UNIX todo.txt 1) learn UNIX
Výstupy lze přesměrovat pomocí znaku '>', například do souboru:
$ ls > vypis.txt $ cat vypis.txt test todo.txt tux.png vypis.txt
Co se stalo: příkaz ls vypisuje po jednom soubory v aktuálním adresáři na standardní výstup a ten jsme přesměrovali do souboru vypis.txt. Příkazem cat jsme obsah tohoto souboru vypsali na standardní výstup (obrazovku). Pokud chceme připojit výstup na konec souboru (> jej přepíše), použijeme >>:
$ ls test/ >> vypis.txt $ cat vypis.txt test todo.txt tux.png vypis.txt frankenstein.howto
Dalším krokem je řetězení příkazů: přesměrování výstupu jednoho do vstupu druhého. K tomu slouží roury zapisované znakem '|':
$ ls | grep txt todo.txt vypis.txt
Vypsali jsme na standardní výstup názvy souborů, ten jsme přesměrovali do standardního vstupu grepu, který výsledek vypsal na standardní výstup (obrazovku).
Užitečné příkazy pro řetězení: less, head, tail.