Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...
Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...
Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
8.1 Ein-/Ausgabeumlenkung und Kommandopipelines 111<br />
Bild 8.1: Standardkanäle unter <strong>Linux</strong><br />
und stderr für die Standard-Eingabe, Standard-Ausgabe und Standard-Fehlerausgabe.<br />
<strong>Die</strong>sen Kanälen sind respektive auch die Nummern 0, 1 und 2 zugeordnet,<br />
was wir gleich noch brauchen werden.<br />
<strong>Die</strong> Shell kann für einzelne Kommandos diese Standardkanäle auf andere Zie- Standardkanäle umleiten<br />
le umleiten, ohne dass die betroffenen Programme davon etwas mitbekommen.<br />
<strong>Die</strong>se benutzen immer die Standardkanäle, lediglich gelangen etwa die Ausgabedaten<br />
gegebenenfalls nicht mehr auf den Bildschirm bzw. ins Terminal-Fenster,<br />
sondern in eine beliebige andere Datei. <strong>Die</strong>se kann ein anderes Gerät sein, etwa<br />
der Drucker – es ist aber auch möglich, zum Beispiel eine Textdatei anzugeben, in<br />
der die Ausgabedaten abgelegt werden. <strong>Die</strong>se muss nicht einmal vorher existieren,<br />
sondern wird bei Bedarf neu erzeugt.<br />
Auf die gleiche Art und Weise können Sie auch den Standard-Eingabe-Kanal<br />
umleiten. Ein Programm erhält seine Informationen dann nicht von der Tastatur,<br />
sondern entnimmt sie der angegebenen Datei, die wiederum für ein Gerät stehen<br />
oder eine Datei im eigentlichen Sinne sein kann.<br />
B<br />
Tastatur und Bildschirm <strong>des</strong> »Terminals«, an dem Sie arbeiten (egal ob die<br />
Textkonsole eines <strong>Linux</strong>-Rechners, ein »echtes« seriell angeschlossenes Terminal,<br />
ein Terminalfenster in einer grafischen Umgebung oder eine Sitzung<br />
über das Netz etwa mit der Secure Shell), können Sie über die »Datei« /dev/<br />
tty ansprechen – wenn Sie Daten lesen wollen, meint dies die Tastatur, bei<br />
der Ausgabe den Bildschirm (umgekehrt wäre ziemlich albern). Der Aufruf<br />
$ grep xyz /dev/tty<br />
wäre zum Beispiel äquivalent zu unserem Beispiel weiter oben in diesem<br />
Abschnitt. Mehr über solche »besonderen Dateien« erzählt Kapitel 10.)<br />
8.1.2 Standardkanäle umleiten<br />
Den Standard-Ausgabe-Kanal können Sie mit dem Operator »>«, also dem »Größer- Standard-Ausgabe umleiten<br />
Als«-Zeichen, umleiten. So wird im folgenden Beispiel die Ausgabe von »ls -laF«<br />
in eine Datei namens inhalt umgelenkt; auf dem Bildschirm erscheint dabei lediglich<br />
$ ls -laF >inhalt<br />
$ _<br />
Falls die Datei inhalt noch nicht existiert, wird sie neu angelegt. Sollte hingegen<br />
bereits eine Datei dieses Namens vorhanden sein, wird deren Inhalt überschrieben.<br />
Das ganze arrangiert die Shell, noch bevor das gewünschte Programm überhaupt<br />
gestartet wird – die Ausgabedatei wird also auch dann angelegt, wenn der<br />
Copyright © 2012 <strong>Linup</strong> <strong>Front</strong> GmbH