Übersicht über Redirektion
Linux-Systeme behandeln alle Ein- und Ausgaben als Dateien. Redirektion ändert die Richtung dieser Standard-Ein-/Ausgabe-Streams, sodass die Ausgabe eines Befehls statt auf dem Bildschirm in eine Datei geschrieben wird oder der Inhalt einer Datei als Eingabe für einen Befehl verwendet wird.
Standard-Ein-/Ausgabe-Streams
Jeder Befehl verwendet standardmäßig die folgenden drei Standard-Streams:
- Standardeingabe (stdin, 0): Der Kanal, über den ein Befehl Daten liest. Standard ist die Tastatur.
- Standardausgabe (stdout, 1): Der Kanal, über den die normale Ausgabe eines Befehls ausgegeben wird. Standard ist der Bildschirm (Terminal).
- Standardfehler (stderr, 2): Der Kanal, über den Fehlermeldungen eines Befehls ausgegeben werden. Standard ist der Bildschirm (Terminal).
Redirektionsoperatoren
Mithilfe verschiedener Redirektionsoperatoren kann die Richtung der Ein- und Ausgabe gesteuert werden. Die direkte Verwendung von 'redirect' wie in den unten generierten Befehlen führt zu einem Fehler. Es müssen Symbole wie >, >>, < usw. verwendet werden.
1. Standardausgabe-Redirektion
2. Standardfehler-Redirektion
3. Standardeingabe-Redirektion
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`redirect` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Häufig verwendete Beispiele
Erfahren Sie, wie Sie die Ein- und Ausgabe mithilfe verschiedener Redirektionsbeispiele steuern können.
Befehlsausgabe in Datei speichern
ls -l > file_list.txt
Speichert die Ausgabe des Befehls `ls -l` in der Datei `dateiliste.txt` und überschreibt die Datei, falls sie bereits existiert.
Ergebnisse mehrerer Befehle an eine Datei anhängen
echo "--- 작업 시작 ---" >> log.txt
date >> log.txt
Hängt die Ausgabe des `echo`-Befehls an die Datei `protokoll.txt` an und fügt anschließend die Ausgabe des `date`-Befehls derselben Datei hinzu. `>>` wird verwendet, um den vorhandenen Inhalt zu bewahren.
Fehlermeldungen in separate Datei umleiten
ls non_existent_file 2> error.log
Führt den `ls`-Befehl für eine nicht existierende Datei aus und leitet nur die Fehlermeldungen (`2>`) in die Datei `fehler.log` um. Die normale Ausgabe erscheint weiterhin auf dem Bildschirm.
Eingabedatei an Befehl übergeben
sort < numbers.txt
Gibt die Datei `zahlen.txt` als Eingabe für den `sort`-Befehl an, um den Dateiinhalt zu sortieren. `sort` verarbeitet den Dateiinhalt als Standardeingabe.
Ausgabe und Fehler in eine Datei
ls /home non_existent_file &> output_and_error.log
Speichert sowohl die normale Ausgabe als auch Fehlermeldungen in der Datei `ausgabe_und_fehler.log`.