Každý proces v systému Linux produkuje tři datové toky, „stdin“, „stdout“ a „stderr“:
- stdin: Přijímá vstup od uživatele pomocí klávesnice
- stdout: Zobrazí výstup na obrazovce
- stderr: Zobrazí informace o chybě na obrazovce
Každý datový proud má numerické ID:
Numeric Id | název |
0 | stdin |
1 | stdout |
2 | stderr |
Vysvětlíme přesměrování trochu podrobněji:
Jak přesměrovat standardní výstup a standardní chybu v Bash:
K přesměrování standardního výstupu příkazu použijeme „1“ s operátorem přesměrování, který je větší než znak „>“:
$ ls 1> standardní výstup.txtVýše uvedený příkaz vytvoří soubor a umístí standardní výstup příkazu „ls“ do „stdout.txt ”.
Číst „standardní výstup.Soubor txt ”použijte:
$ kočka stdout.txt
Standardní chybu můžeme přesměrovat také do souboru pomocí příkazu:
$ cat myfile.txt 2> stderr.txt
Chcete-li zobrazit „stderr.Soubor txt ”použijte:
$ kočka stderr.txt
Ujistěte se, že použití „2“ bude větší než znaménko „>“. Protože neexistuje žádný „myfile“.txt ”v adresáři, příkaz„ cat “způsobí chybu, která bude přidána do„ stderr.txt ”.
Tyto standardní výstupy lze přesměrovat také jediným příkazem, použijte:
$ ls 1> standardní výstup.txt 2> stderr.txt
Výstup příkazu „ls“ bude zapsán do „stdout.txt„Soubor, ale„stderr.txt„Zůstane prázdný, protože by nedošlo k žádné chybě.
Nyní pojďme pro „stderr.txt ”:
$ cat myfile.txt 1> standardní výstup.txt 2> stderr.txt
Pomocí níže uvedeného příkazu přečtěte „stderr.txt.“
$ kočka stderr.txt
A samozřejmě: „stdout.txt ”bude prázdný.
Závěr:
Příkaz Linuxu po spuštění poskytuje standardní výstup, který může být úspěšným výstupem nebo chybovým výstupem. Obecně nelze tyto výstupy přesměrovat pomocí operátorů přesměrování; musíme použít konkrétní číselná ID se znaménkem „>“. V této příručce jsme se naučili používat tyto číselné klávesy k přesměrování standardního výstupu do souboru s příklady.