Pri používaní Linuxu sa môžete stretnúť s odkazmi na „štandardný vstup/výstup“ alebo „štandardný vstup“, „štandardný výstup“ a „štandardnú chybu“. Čo znamenajú tieto pojmy?
Štandardný vstup
Štandardný vstup je termín pre vstup, ktorý prijíma program založený na príkazoch. Pri interaktívnom používaní je to normálne z klávesnice, ale ako uvidíte neskôr, môže to pochádzať aj zo súboru.
Zatiaľ čo klávesnica sa v dnešnej dobe zvyčajne zapája priamo do stroja, keď textových terminálov bolo viac bežný, štandardný vstup sa odoberal z terminálovej klávesnice pripojenej k centrálnemu minipočítaču resp hlavný rám. Moderné systémy Linux používajú na štandardný vstup emulátory terminálu alebo systémovú konzolu.
Štandardný výstup
Štandardný výstup, podobne ako štandardný vstup, je miesto, kde program odošle svoj textový výstup. Opäť je to typický emulátor terminálu na moderných systémoch, ale v minulosti to bolo aj na fyzických termináloch, buď s obrazovkami CRT, alebo vytlačené na papieri pomocou ďalekopisov.
Teletypové terminály boli bežnejšie, keď sa v Bell Labs koncom 60. a začiatkom 70. rokov vyvíjal predchodca Linuxu, Unix.
Súvisiace: Prečo sú príkazy Linuxu také krátke? História príkazov Linuxu
Rovnako ako štandardný vstup, aj štandardný výstup môžete presmerovať do súboru.
Štandardná chyba
Štandardná chyba sa zvyčajne používa pre akékoľvek chybové hlásenia, ktoré môže program vygenerovať. Rovnako ako pri štandardnom výstupe sa zvyčajne zobrazuje na obrazovke, ale môže byť tiež presmerovaný do súboru alebo na blokové zariadenie, napr. /dev/null.
Ako presmerovať vstup a výstup v systéme Linux
Jednou z najvýkonnejších funkcií systémov Linux a Unix je schopnosť presmerovať vstup a výstup do súborov a iných programov.
Najpoužívanejšou metódou je odoslanie výstupu z jedného príkazu do druhého alebo „potrubia“. Pre Ak chcete napríklad vidieť, koľko príkazov Linuxu má vo svojom názve „sh“, môžete použiť pipetový výstup príkazu ls s grep.
ls /bin | grep 'sh'
Komu presmerovať výstup z príkazu do súboru, Použi > operátor. Napríklad na odoslanie výstupu z príkaz ls do názvu súboru zoznam súborov:
ls > zoznam súborov
The >> operátor pripojí výstup k existujúcemu súboru alebo ho vytvorí, ak neexistuje. Aby ste predišli náhodnému prepísaniu súboru, môžete v Bash nastaviť možnosť „noclobber“:
nastaviť noclobber
Môžete tiež nechať program prevziať vstup zo súboru s príponou < operátor. Program cat dokáže vytlačiť obsah súboru tak, že vezme vstup zo súboru a odošle výstup na štandardný výstup.
cat < súbor
Samozrejme, môžete použiť iba mačku a zadať cestu k súboru ako argument, ale toto je len príklad.
Štandardnú chybu môžete presmerovať pomocou deskriptora súboru alebo čísla, ktoré predstavuje jednu z foriem štandardného I/0. Pri deskriptoroch súborov je 0 štandardný vstup, 1 je štandardný výstup a 2 je štandardná chyba. Syntax v Bash je [deskriptor súboru]>. Je užitočné presmerovať štandardnú chybu na /dev/null ako sa zbaviť chýb:
linux_command 2> /dev/null
Môžete presmerovať štandardný výstup aj vstup naraz &>, čo je užitočné, ak potrebujete poslať e-mail alebo príspevok na fórum s popisom problému, ktorý máte s programom:
linux_command &> súbor
Štandardné I/O fungujú všade
Dokonca aj s grafickými prostrediami, ktoré sú dnes k dispozícii, zostáva štandardný I/O dôležitý, pretože stále ide o univerzálne rozhranie, od stolného počítača cez server až po mobilné zariadenie, založené na texte ASCII.
Text ASCII vyzerá tajomne, ale na internete má mnoho využití.
Prečítajte si ďalej
- Linux
- Technológia vysvetlená
- Linux Elementary
- Linux Bash Shell
David je spisovateľ na voľnej nohe, ktorý žije na severozápade Pacifiku, ale pôvodne pochádza z oblasti Bay Area. Technologickým nadšencom je už od detstva. Medzi Davidove záujmy patrí čítanie, sledovanie kvalitných televíznych relácií a filmov, retro hry a zbieranie záznamov.
prihlásiť sa ku odberu noviniek
Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!
Kliknutím sem sa prihlásite na odber