Každý proces V Linuxu vytváří tři datové toky, stdin, stdout a stderr:
- stdin : Přijímá vstup od uživatele prostřednictvím klávesnice
- standardní výstup : Zobrazí výstup na obrazovce
- stderr : Zobrazuje informace o chybě na obrazovce
Každý datový proud má číselné ID:
Numerické číslo | název |
0 | stdin |
1 | standardní výstup |
2 | stderr |
Pojďme si přesměrování vysvětlit 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ž znaménko>:
$ls 1>stdout.txtVýše uvedený příkaz vytvoří soubor a umístí standardní výstup příkazu ls do souboru stdout.txt.
K přečtení souboru stdout.txt použijte:
$kočkastdout.txt
Standardní chybu můžeme přesměrovat také do souboru pomocí příkazu:
$kočkamyfile.txt2>stderr.txt
Chcete -li zobrazit soubor stderr.txt, použijte:
$kočkastderr.txt
Ujistěte se, že použití 2 bude větší než znaménko>. Protože v adresáři není žádný soubor myfile.txt, příkaz cat způsobí chybu, která bude připojena v souboru stderr.txt.
Tyto standardní výstupy lze přesměrovat také jediným příkazem, použijte:
$ls 1>stdout.txt2>stderr.txt
Výstup příkazu ls bude zapsán do souboru stdout.txt soubor, ale stderr.txt zůstane prázdné, protože by nedošlo k žádné chybě.
Nyní pojďme udělat pro stderr.txt:
$kočkamyfile.txt1>stdout.txt2>stderr.txt
Ke čtení souboru stderr.txt použijte níže uvedený příkaz.
$kočkastderr.txt
A samozřejmě bude stdout.txt prázdný.
Závěr :
Příkaz Linux po spuštění poskytuje standardní výstup, který může být úspěšný nebo chybový. Tyto výstupy obecně nelze přesměrovat pomocí operátorů přesměrování; potřebujeme použít konkrétní číselná ID se znaménkem>. V této příručce jsme se naučili, jak pomocí těchto numerických kláves přesměrovat standardní výstup do souboru s příklady.