Pipes

In Linux wird durch Pipes die Standardausgabe eines Befehls mit der Standardausgabe eines anderen Befehls verbunden.

Zunächst gehen Sie aber wieder einen Schritt zurück, zum Befehl ls. In Verbindung mit ls kann eine Vielzahl von Optionen verwendet werden - doch was können Sie tun, wenn der Inhalt eines Verzeichnisses bei der Anzeige so schnell gescrollt wird, dass Sie gar nicht alles lesen können?

Schauen Sie sich den Inhalt des Verzeichnisses etc näher an.

ls -al /etc

Wie ist es nun möglich, die Ausgabe in Ruhe anzuschauen, bevor sie wieder vom Bildschirm verschwindet?

Eine Methode besteht darin, die Ausgabe an ein Dienstprogramm mit der Bezeichnung less weiterzuleiten. Pager wie less (oder more) ermöglichen die Anzeige von Informationen auf eine Weise, bei der immer nur so viele Dateien angezeigt werden, wie gerade auf den Bildschirm passen.

Das Weiterleiten der Datei über die Pipe erfolgt durch Eingeben eines vertikalen Balkens (|) (wie in Abbildung 10-11 angegeben).

ls -al /etc | less

Nun ist es möglich, die Ausgabe langsam und schrittweise auf dem Bildschirm anzuzeigen. Um jeweils zum nächsten Bildschirm umzuschalten, müssen Sie lediglich die Leertaste drücken, zum Zurückblättern dient b, und zum Beenden drücken Sie q.

TipWie Sie Ihre Startmeldungen lesen können
 

Möchten Sie sich mit diesen Startmeldungen etwas genauer befassen? Geben Sie am Shell Prompt den Befehl dmesg | less ein. Sie können dann die Datei mit den Meldungen jeweils seitenweise auf dem Bildschirm anzeigen. Um vorzublättern, drücken Sie die Leertaste, um die Anzeige der Datei zu beenden, drücken Sie die Taste q.

Abbildung 10-11 Weiterleiten der Ausgabe von ls zu less

Als die man-Seiten in einem früheren Abschnitt dieses Handbuchs behandelt wurden, hatten Sie den Inhalt der man-Seite mit dem folgenden Befehl ausgedruckt:

man ls | col -b | lpr

Hier senden Sie die Ausgabe von man ls an einen Filter mit der Bezeichnung col mit der Option -b, um zuerst die Formatierung des Texts für den Drucker vorzunehmen. Dann wird die Ausgabe dieses Filters mit dem Befehl lpr an den Drucker weitergeleitet.

Für ein weiteres Beispiel geben Sie Folgendes ein:

grep coffee sneakers.txt | lpr

Auf diese Weise wird jede Zeile in der Datei sneakers.txt gedruckt, die das Wort "Kaffee" enthält (weitere Informationen über grep finden Sie unter Abschnitt namens Der Befehl grep.

Der Befehl more

Der wesentliche Unterschied zwischen more und less ist, dass more nur das Vorblättern in einer Datei erlaubt, während es mit less möglich ist, vor und zurück zu blättern.

Schauen Sie sich die man-Seite über more an. Öffnen Sie die Seite diesmal mithilfe von more — durch Weiterleiten der Ausgabe von man zu more.

	  man more | more