Při používání Linuxu se můžete setkat s odkazy na „standardní I/O“ nebo „standardní vstup“, „standardní výstup“ a „standardní chybu“. Co tyto pojmy znamenají?
Standardní vstup
Standardní vstup je termín pro vstup, který přijímá program založený na příkazech. Při interaktivním použití je to normálně z klávesnice, ale jak uvidíte později, může to také pocházet ze souboru.
Zatímco klávesnice se v dnešní době obvykle zapojuje přímo do stroje, kdy textových terminálů bylo více běžný, standardní vstup byl převzat z terminálové klávesnice připojené k centrálnímu minipočítači popř sálový počítač. Moderní systémy Linux používají ke standardnímu vstupu emulátory terminálu nebo systémovou konzoli.
Standardní výstup
Standardní výstup, stejně jako standardní vstup, je místo, kam program odešle svůj textový výstup. Opět je to typicky emulátor terminálu na moderních systémech, ale v minulosti byl také na fyzických terminálech, buď s obrazovkami CRT nebo vytištěnými na papíře pomocí dálnopisů.
Dálnopisné terminály byly běžnější, když byl předchůdce Linuxu, Unix, vyvíjen v Bellových laboratořích koncem 60. a začátkem 70. let.
Příbuzný: Proč jsou příkazy Linuxu tak krátké? Historie linuxových příkazů
Stejně jako standardní vstup můžete také přesměrovat standardní výstup do souboru.
Standardní chyba
Standardní chyba se obvykle používá pro jakékoli chybové zprávy, které může program vygenerovat. Stejně jako u standardního výstupu se obvykle zobrazuje na obrazovce, ale může být také přesměrován do souboru nebo na blokové zařízení, např. /dev/null.
Jak přesměrovat vstup a výstup v systému Linux
Jednou z nejvýkonnějších funkcí systémů Linux a Unix je schopnost přesměrovat vstup a výstup do souborů a jiných programů.
Nejrozšířenější metodou je odeslání výstupu z jednoho příkazu do druhého, neboli „potrubí“. Pro Chcete-li například zjistit, kolik linuxových příkazů má ve svém názvu "sh", můžete výstup příkazu ls pipetovat s grep.
ls /bin | grep 'sh'
Na přesměrovat výstup z příkazu do souboru, použijte > operátor. Chcete-li například odeslat výstup z příkaz ls do názvu souboru seznam souborů:
ls > seznam souborů
The >> operátor připojí výstup k existujícímu souboru nebo jej vytvoří, pokud neexistuje. Chcete-li zabránit náhodnému přepsání souboru, můžete v Bash nastavit volbu „noclobber“:
nastavit noclobber
Můžete také nechat program převzít vstup ze souboru s příponou < operátor. Program cat dokáže vytisknout obsah souboru tak, že vezme vstup ze souboru a výstup odešle na standardní výstup.
cat < soubor
Samozřejmě můžete použít pouze cat a zadat cestu k souboru jako argument, ale toto je pouze příklad.
Standardní chybu můžete přesměrovat pomocí deskriptoru souboru nebo čísla, které zastupuje jednu z forem standardního I/0. U deskriptorů souborů je 0 standardní vstup, 1 standardní výstup a 2 je standardní chyba. Syntaxe v Bash je [deskriptor souboru]>. Je užitečné přesměrovat standardní chybu na /dev/null jak se zbavit chyb:
linux_command 2> /dev/null
Můžete přesměrovat standardní výstup i vstup najednou &>, což je užitečné, pokud potřebujete poslat e-mail nebo příspěvek na fórum popisující problém, který máte s programem:
linux_command &> soubor
Standardní I/O funguje všude
I přes grafická prostředí, která jsou dnes k dispozici, zůstává standardní I/O důležitý, protože se stále jedná o univerzální rozhraní, od stolního počítače přes server až po mobilní zařízení, založené na textu ASCII.
Text ASCII vypadá tajemně, ale na internetu má mnoho využití.
Přečtěte si další
- Linux
- Technologie vysvětlena
- Základní Linux
- Linux Bash Shell
David je spisovatel na volné noze žijící na severozápadě Pacifiku, ale původně pocházející z Bay Area. Od dětství byl technologickým nadšencem. Mezi Davidovy zájmy patří čtení, sledování kvalitních televizních pořadů a filmů, retro hry a sbírání desek.
Přihlaste se k odběru našeho newsletteru
Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!
Chcete-li se přihlásit k odběru, klikněte sem