Każdy proces w Linux wytwarza trzy strumienie danych, „stdin”, „stdout” i „stderr”:
Każdy strumień danych ma numeryczny identyfikator:
Identyfikator numeryczny | Nazwa |
0 | stdin |
1 | Stdout |
2 | Stderr |
Wyjaśnijmy przekierowanie nieco bardziej szczegółami:
Jak przekierować standardowe wyjście i błąd standardowy w Bash:
Aby przekierować standardowe wyjście polecenia, użyjemy „1” z operatorem przekierowania, który jest większy niż znak „>”:
$ ls 1> stdout.tekst
Powyższe polecenie utworzy plik i umieści standardowe dane wyjściowe polecenia „LS” w „StDout.plik txt ”.
Przeczytać „stdout.plik txt ”, użyj:
$ cat stdout.tekst
Możemy również przekierować standardowy błąd do pliku za pomocą polecenia:
$ cat myfile.txt 2> stderr.tekst
Aby obejrzeć „Stderr.plik txt ”, użyj:
$ cat stderr.tekst
Upewnij się, że użyj „2” będzie większy niż znak „>”. Ponieważ nie ma „myfile.plik txt ”W katalogu polecenie„ CAT ”poda błąd, który zostanie dołączony do„ Stderr.plik txt ”.
Te standardowe wyjścia można przekierować również za pomocą jednego polecenia, użyj:
$ ls 1> stdout.txt 2> stderr.tekst
Wyjście polecenia „LS” zostanie napisane w „Stdout.tekst”Plik, ale„Stderr.tekst„Pozostanie pusty, ponieważ nie byłoby błędu.
Teraz zróbmy „Stderr.tekst":
$ cat myfile.txt 1> stdout.txt 2> stderr.tekst
Użyj poniżej wspomnianego polecenia, aby przeczytać „Stderr.tekst."
$ cat stderr.tekst
I oczywiście „stdout.txt ”będzie pusty.
Wniosek:
Polecenie Linux po wykonaniu daje standardowe wyjście, które może być wyjściem sukcesu lub wyjściem błędu. Zasadniczo tych wyjść nie można przekierować za pomocą operatorów przekierowania; Musimy użyć określonych identyfikatorów numerycznych ze znakiem „>”. W tym przewodniku nauczyliśmy się używać tych klawiszy numerycznych do przekierowania standardowego wyjścia do pliku z przykładami.