Ogni processo In Linux produce tre flussi di dati, "stdin", "stdout" e "stderr":
- standard: Accetta input dall'utente tramite tastiera
- stdout: Visualizza l'output sullo schermo
- stderr: mostra le informazioni sull'errore sullo schermo
Ogni flusso di dati ha un ID numerico:
ID numerico | Nome |
0 | standard |
1 | stdout |
2 | stderr |
Spieghiamo un po' più in dettaglio il reindirizzamento:
Come reindirizzare l'output standard e l'errore standard in Bash:
Per reindirizzare lo standard output del comando, utilizzeremo "1" con un operatore di reindirizzamento maggiore del segno ">":
$ls 1> stdout.TXTIl comando precedente creerà un file e posizionerà l'output standard del comando "ls" nel file "stdout.txt" file.
Per leggere lo “stdout.txt", utilizzare:
$cat stdout.TXT
Possiamo reindirizzare anche l'errore standard su un file utilizzando il comando:
$cat miofile.txt 2> stderr.TXT
Per visualizzare lo “stderr.txt", utilizzare:
$cat stderr.TXT
Assicurati che l'uso di "2" sia maggiore del segno ">". Dal momento che non c'è "miofile.txt" nella directory, il comando "cat" darà un errore che verrà aggiunto nel file "stderr.txt" file.
Questi output standard possono essere reindirizzati anche con un singolo comando, utilizzare:
$ls 1> stdout.txt 2> stderr.TXT
L'output del comando "ls" sarà scritto nel "stdout.TXT", ma il "stderr.TXT” rimarrà vuoto perché non ci sarebbero errori.
Ora facciamo per “stderr.TXT":
$cat miofile.txt 1> stdout.txt 2> stderr.TXT
Utilizzare il comando indicato 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 errore. In genere, questi output non possono essere reindirizzati utilizzando operatori di reindirizzamento; dobbiamo usare ID numerici specifici con il segno ">". In questa guida, abbiamo imparato come utilizzare questi tasti numerici per reindirizzare l'output standard a un file con esempi.