Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

CompTia Linux+ LX0-103 (Teil 3) GNU- und Unix-Befehle

Standardeingabe, Standardausgabe und Standardfehler umleiten

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Eine häufig genutzte Anwendung in Linux ist die Umleitung von Standardeingabe-, Standardausgabe- und Standardfehler-Kanal in eine Datei. Wie dies genau funktioniert und welchen Nutzen Sie daraus ziehen können, erfahren Sie in diesem Video.
09:44

Transkript

Warum sehen wir ein Ergebnis, wenn wir ls ausführen? Das ist die Ausgabe von Standard-Out (stdout). Wenn ich ls eingebe und die Enter-Taste drücke, ist das die Standardausgabe. Wenn ich einen Befehl einsetze, zum Beispiel cd, und ich ein Verzeichnis auswähle, das nicht existiert, erhalte ich eine Fehlermeldung. Das ist der Standard Error. Es ist ganz wichtig, dass Sie verstehen, dass die Standardausgabe wie auch der Standardfehler uns direkt am Terminal angezeigt wird. Das sind aber zwei verschiedene Kanäle, die wir einsetzen können. Ich zeige Ihnen gleich, was ich meine. Ich verwende nochmals ls. Nun möchte ich die Standardausgabe nicht direkt am Terminal sehen, sondern ich möchte das Resultat in eine Datei umleiten. Die Standardausgabe kann ich mit einem umleiten. Ich verwende dazu zum Beispiel die Datei out. Nun sehen Sie, ich habe kein Resultat erhalten. Aber wenn ich cat out anwende, sehe ich, darin ist der Inhalt von der Standardausgabe. Die Ausgabe wurde also in eine Datei geschrieben. Ebenfalls kann ich den Standard-Error in eine Datei umleiten. Ich verwende den Befehl cd. Wieder ein Verzeichnis, das nicht existiert. Mit der Nummer 2 und mit kann ich den Standard-Error ebenfalls in eine Datei umleiten. Ich verwende also den Dateinamen error. Ich schaue mir das Resultat an und Sie sehen, die Ausgabe wurde nicht angezeigt. Nein, die Standardfehlermeldung wurde in eine Datei umgeleitet. Schauen wir uns gleich das Resultat mit cat an. Auf die Datei error, und in der Tat, die Ausgabe wurde direkt in die Datei geschrieben. Ich kann also die Standardausgabe mit dem Befehl ls und dann ... Das Größer-als-Zeichen leitet die Standardausgabe zum Beispiel in eine Datei Mit dem anderen Befehl gebe ich eine 2 und an. Dieses Zeichen bewirkt, dass die Standardfehlermeldung ebenfalls in eine Datei umgeleitet werden kann. Was aber, wenn ich eine Datei bereits erstellt habe und ich möchte zusätzliche Informationen zu dieser Datei hinzufügen? Schauen wir uns das nochmals an, mit cat auf die Datei out. Diese Datei hat einen Inhalt, nämlich das Kommando ls wurde ausgeführt und das Resultat wurde in diese Datei geschrieben. Nun möchte ich dieser Datei ein weiteres Resultat hinzufügen. Ich verwende ls -l und ich möchte den Inhalt von diesem Resultat meiner Datei hinzufügen. Dazu verwende ich zwei Größer-als-Zeichen und bestimme die Datei. Sie heißt out. Ich drücke die Enter-Taste. Schauen wir uns das Resultat an. cat out Sie sehen, nun wurde das Resultat hinzugefügt. Im oberen Teil ist das erste Resultat, im unteren Teil ist das zweite Resultat, nämlich ls -l. Das hängt die Informationen der bestehenden Datei an. Es wird kein Überschreiben durchgeführt. Wenn Sie nur auswählen, dann wird die bestehende Datei entweder überschrieben, ist die Datei noch nicht vorhanden, wird eine Datei erstellt. Wir haben nun bereits die Standardausgabe kennengelernt und wir haben den Standard-Error kennengelernt. Wichtig ist, dass Sie wissen, welche Symbole Sie für die entsprechende Umleitung einsetzen müssen. Denn wenn Sie zum Beispiel das falsche Symbol einsetzen, funktioniert die Umleitung nicht. Ich verwende ls und nun, wenn ich die Enter-Taste drücke, erhalte ich ein Resultat. Die Standardausgabe. Ich möchte diese Ausgabe umleiten. Wenn ich jetzt dieses Symbol verwende, und zum Beispiel die Datei out1 bestimme, was passiert dann? Es passiert nichts. Es wird zwar eine Datei erstellt, aber die ist leer. Warum ist sie leer? ls generiert eine Standardausgabe und keine Fehlermeldung. Und leitet nur die Standardfehlermeldung um. Somit, sehen Sie, habe ich kein Resultat erhalten. cat auf die Datei out1 und dieser Inhalt ist leer, weil ls keine Standardfehlermeldung generiert hat. Es ist also ganz wichtig, dass Sie die richtigen Symbole richtig einsetzen, um die entsprechenden Resultate zu erhalten. Wir haben nun Standardausgabe und Standardfehlermeldung kennengelernt. Es gibt einen weiteren Punkt zu besprechen. Die Standardeingabe. stdin oder Standard-Input Wenn ich mit dem Keyboard etwas eingebe, ist das der Standard-Input. Ich zeige Ihnen das an einem Beispiel, indem ich eine Variable erstelle. Ich verwende dazu den Befehl read und ich möchte eine Variable erstellen. Wenn ich nun die Enter-Taste drücke, dann wartet die Bash, dass ich mit dem Keyboard etwas eingebe. (tippt) Das ist die Eingabe von der Tastatur. Ausrufezeichen. Und ich drücke die Enter-Taste. Schauen wir uns diese Variable an. Mit echo $VAR In der Tat, ich habe den Inhalt: Das ist die Eingabe von der Tastatur! Nun erstelle ich eine Textdatei mit dem Editor nano und ich wähle dazu einen Namen, zum Beispiel text1.txt. Und ich schreibe nun folgenden Inhalt: (tippt) Das ist die Eingabe aus einer Datei Ausrufezeichen. CTRL-O zum Speichern. CTRL-X, um den Editor zu verlassen. Und nun brauche ich diese Datei, um die bestehende Variable zu überschreiben. Ich verwende wiederum read. Die Variable heißt VAR. Ich verwende das Kleiner-als-Symbol < und gebe nun die Datei an: text1.txt. Ich drücke die Enter-Taste und nun schauen wir uns unsere Variable wieder an. Mit echo $VAR Und Sie sehen, in der Tat: Das ist die Eingabe aus einer Datei! Ich habe also als Standard-Input nicht die Tastatur verwendet, sondern ich habe als Standard-Input die Datei text1.txt verwendet. Sie haben also gesehen, somit besteht die Möglichkeit, den Standard-Input nicht nur durch die Tastatur einzugeben, sondern auch mit einer Datei zu arbeiten. Schauen wir uns noch ein, zwei Beispiele an, zu diesem Standardfehler, Standardausgabe, Standardeingabe. Wenn ich ls tom eingebe, erhalte ich eine Fehlermeldung. Wenn ich nun ls tom einsetze, und nun das und ich eine Datei erstelle, resultat.txt, was erhalte ich? Ich erhalte die Fehlermeldung, die mir angezeigt wird. Was ist dann in der Datei resultat.txt? Sie sehen, diese Datei ist leer. Warum? Ich habe das falsche Symbol eingesetzt, um die Standardausgabe umzuleiten. Ich verwende einen weiteren Befehl. ls bob zum Beispiel. ls bob erzeugt eine Fehlermeldung. Ich lenke das Resultat wieder mit dem Symbol um auf die bestehende Datei resultat.txt und nun kann ich einen Trick anwenden. Ich verwende die 2 und , dann & und die Nummer 1. Nun wird der Standard-Error ebenfalls in den Standard-Output hineingeschrieben. Schauen wir uns das gleich an. Ich drücke die Enter-Taste. Sie sehen, ich erhalte kein Resultat am Terminal. Ich schaue die Datei an. cat resultat.txt Aha, in der Tat! Wir haben nun erfolgreich die beiden Ausgaben in eine Datei umgeleitet. In diesem Video haben Sie Standard-Error, Standardausgabe, Standard-Input kennengelernt.

CompTia Linux+ LX0-103 (Teil 3) GNU- und Unix-Befehle

Lernen Sie den Umgang mit der Kommandozeile, Dateien und Prozessen kennen und bereiten Sie sich auf die Comptia Linux+-Zertifizierungsprüfung LX0-103 vor.

3 Std. 32 min (40 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!