Jeder Prozess unter Linux produziert drei Datenströme, stdin, stdout und stderr:
- stdin : Nimmt Eingaben vom Benutzer über die Tastatur entgegen
- stdout : Zeigt die Ausgabe auf dem Bildschirm an
- stderr : Zeigt Fehlerinformationen auf dem Bildschirm an
Jeder Datenstrom hat eine numerische ID:
Numerische ID | Name |
0 | stdin |
1 | stdout |
2 | stderr |
Lassen Sie uns die Umleitung etwas genauer erklären:
So leiten Sie die Standardausgabe und den Standardfehler in Bash um:
Um die Standardausgabe des Befehls umzuleiten, verwenden wir 1 mit einem Umleitungsoperator, der größer als das >-Zeichen ist:
$ls 1>stdout.txtDer obige Befehl erstellt eine Datei und platziert die Standardausgabe des ls-Befehls in der Datei stdout.txt.
Um die Datei stdout.txt zu lesen, verwenden Sie:
$Katzestdout.txt
Wir können Standardfehler auch in eine Datei umleiten, indem wir den Befehl verwenden:
$Katzemeinedatei.txt2>stderr.txt
Um die Datei stderr.txt anzuzeigen, verwenden Sie:
$Katzestderr.txt
Stellen Sie sicher, dass 2 größer als das >-Zeichen ist. Da das Verzeichnis keine myfile.txt-Datei enthält, gibt der Befehl cat einen Fehler aus, der in die Datei stderr.txt angehängt wird.
Diese Standardausgaben können auch mit einem einzigen Befehl umgeleitet werden, verwenden Sie:
$ls 1>stdout.txt2>stderr.txt
Die Ausgabe des ls-Befehls wird in die stdout.txt Datei, aber die stderr.txt bleibt leer, da kein Fehler auftritt.
Machen wir nun für stderr.txt:
$Katzemeinedatei.txt1>stdout.txt2>stderr.txt
Verwenden Sie den unten genannten Befehl, um stderr.txt zu lesen.
$Katzestderr.txt
Und natürlich ist stdout.txt leer.
Abschluss :
Der Linux-Befehl gibt bei der Ausführung eine Standardausgabe aus, die eine Erfolgsausgabe oder eine Fehlerausgabe sein kann. Im Allgemeinen können diese Ausgaben nicht mit Umleitungsoperatoren umgeleitet werden; wir müssen bestimmte numerische IDs mit dem >-Zeichen verwenden. In diesem Handbuch haben wir gelernt, wie Sie diese numerischen Tasten verwenden, um die Standardausgabe in eine Datei mit Beispielen umzuleiten.