Ogni processo in Linux produce tre flussi di dati, "stdin", "stdout" e "stderr":
Ogni flusso di dati ha un ID numerico:
ID numerico | Nome |
0 | stdin |
1 | stdout |
2 | Stderr |
Spieghiamo un po 'di più il reindirizzamento con i dettagli:
Come reindirizzare l'output standard e l'errore standard in Bash:
Per reindirizzare l'output standard del comando, useremo "1" con un operatore di reindirizzamento che è maggiore del segno ">":
$ ls 1> stdout.TXT
Il comando sopra creerà un file e posizionerà l'output standard del comando "LS" in "StDout.file txt ".
Per leggere il "stdout.file txt ", usa:
$ cat stdout.TXT
Possiamo reindirizzare anche l'errore standard in un file utilizzando il comando:
$ cat myfile.txt 2> stderr.TXT
Per visualizzare il "Stderr.file txt ", usa:
$ CAT STDERR.TXT
Assicurati che usi "2" sarà maggiore del segno ">". Dal momento che non c'è "myfile.file txt "Nella directory, il comando" Cat "fornirà un errore che verrà aggiunto nel" Stderr.file txt ".
Queste uscite standard possono essere reindirizzate anche con un singolo comando, utilizzare:
$ ls 1> stdout.txt 2> stderr.TXT
L'output del comando "LS" sarà scritto in "stdout.TXTFile ", ma il"Stderr.TXT"Rimarrà vuoto perché non ci sarebbe un errore.
Ora facciamo per "Stderr.TXT":
$ cat myfile.txt 1> stdout.txt 2> stderr.TXT
Usa il comando di seguito per leggere "Stderr.TXT."
$ CAT STDERR.TXT
E, naturalmente, "stdout.txt ”sarà vuoto.
Conclusione:
Il comando Linux all'esecuzione fornisce un output standard che potrebbe essere un output di successo o un output di errori. In generale, queste uscite non possono essere reindirizzate utilizzando gli operatori di reindirizzamento; Dobbiamo utilizzare ID numerici specifici con il segno ">". In questa guida, abbiamo imparato a utilizzare queste chiavi numeriche per reindirizzare l'output standard in un file con esempi.