Obsah

stdout (Standard Output)

stdout je datový proud, do kterého program zapisuje své výsledné informace. V technickém zápisu má tento kanál přiřazen deskriptor souboru (file descriptor) 1. Standardně je tento výstup nasměrován na obrazovku terminálu, kde jej vidí uživatel.

1. Jak stdout funguje?

Když program (např. v Pythonu příkaz print()) vygeneruje text, neposílá ho přímo na monitor. Místo toho ho zapíše do proudu stdout. Operační systém pak rozhodne, kam tento proud poteče:

2. Přesměrování výstupu (Redirection)

V shellu můžeme stdout snadno ovládat pomocí operátorů:

3. Rozdíl mezi stdout a stderr

Je klíčové rozlišovat mezi „úspěšným výsledkem“ a „chybou“.

Díky tomuto oddělení můžete například uložit výsledky do souboru, ale chyby nechat vypsat na obrazovku, aby vás varovaly:

4. Spojování stdout a stderr

Někdy chcete uložit úplně všechno do jednoho souboru (např. pro pozdější analýzu logů). K tomu slouží konstrukce:

(Vysvětlení: Proud 2 (stderr) je přesměrován tam, kam teče proud 1 (stdout), a ten teče do souboru log.txt.)

5. stdout v programování

Každý moderní jazyk má standardní výstup jako základní objekt:

Zajímavost: Existuje speciální „soubor“ /dev/null, který funguje jako černá díra. Pokud chcete, aby program na obrazovku nevypisoval vůbec nic, můžete jeho stdout zahodit: prikaz > /dev/null.

Zpět na Linux