Startseite > Umgebung & Hilfsprogramme > redirect

Redirektion: Ändern der Ein- und Ausgabe von Befehlen

Redirektion in der Linux-Shell ist eine Funktion, die die Richtung der Standard-Ein- und -Ausgabe (standard input/output) eines Befehls ändert. Sie wird verwendet, um den Inhalt einer Datei als Eingabe zu nutzen oder um die Ausgabe eines Befehls statt auf dem Bildschirm in einer Datei zu speichern. Zusammen mit der Pipe (`|`) ist sie eines der grundlegendsten Werkzeuge für Shell-Skripting und Datenverarbeitung.

Ü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`.


Verwandte Befehle

Funktional ähnliche oder häufig zusammen verwendete Befehle.


Gleiche Kategorie Befehle