Každý proces v systéme Linux produkuje tri dátové toky „stdin“, „stdout“ a „stderr“:
- stdin: Prevezme vstup od používateľa pomocou klávesnice
- stdout: Zobrazí výstup na obrazovke
- stderr: Zobrazuje informácie o chybe na obrazovke
Každý dátový tok má numerické ID:
Numeric Id | názov |
0 | stdin |
1 | stdout |
2 | stderr |
Poďme si presmerovanie trochu podrobnejšie vysvetliť:
Ako presmerovať štandardný výstup a štandardnú chybu v Bashi:
Na presmerovanie štandardného výstupu príkazu použijeme „1“ s operátorom presmerovania, ktorý je väčší ako znamienko „>“:
$ ls 1> štandardný výstup.TXTVyššie uvedený príkaz vytvorí súbor a umiestni štandardný výstup príkazu „ls“ do „štandardného výstupu.súbor txt “.
Čítať „štandardný výstup.súbor txt ”, použite:
$ mačací výstup.TXT
Štandardnú chybu môžeme presmerovať aj do súboru pomocou príkazu:
$ macísúbor.txt 2> stderr.TXT
Ak chcete zobraziť „stderr.súbor txt ”, použite:
$ mačka stderr.TXT
Uistite sa, že použitie „2“ bude väčšie ako znamienka „>“. Pretože neexistuje žiadny „môj súbor“.txt ”v adresári, príkaz„ cat ”spôsobí chybu, ktorá bude pridaná do„ stderr.súbor txt “.
Tieto štandardné výstupy je možné presmerovať jediným príkazom, tiež:
$ ls 1> štandardný výstup.txt 2> stderr.TXT
Výstup príkazu „ls“ sa zapíše do poľa „stdout.TXT“, Ale„stderr.TXT”Zostane prázdny, pretože by nedošlo k chybe.
Teraz urobme pre „stderr.TXT":
$ macísúbor.txt 1> štandardný výstup.txt 2> stderr.TXT
Pomocou nižšie uvedeného príkazu prečítajte „stderr.TXT.“
$ mačka stderr.TXT
A samozrejme: „stdout.txt ”bude prázdny.
Záver:
Príkaz Linuxu po vykonaní poskytne štandardný výstup, ktorý môže byť výstupom úspechu alebo chyby. Spravidla nie je možné tieto výstupy presmerovať pomocou operátorov presmerovania; musíme použiť konkrétne číselné ID so znamienkom „>“. V tejto príručke sme sa naučili, ako používať tieto číselné klávesy na presmerovanie štandardného výstupu do súboru s príkladmi.