Umleitung
Zu Befehl: Kanäle, Pipes und Tee
Einleitung
Neben der Ausgabe können Sie auch die Eingabe umleiten. Dazu verwenden Sie den Operator <. So kann ein Befehl seine Eingabe nicht nur über die Tastatur bekommen, sondern auch aus einer Datei. Gerade im Zusammenhang mit dem Kommando mail [1] ist das oft nützlich: Um einen vorbereiteten Text an den User petronella zu verschicken, reicht ein:
mail -s "brief" petronella < brieftext
Im Aufruf setzt die Option -s den Betreff (engl.: Subject) der Nachricht. mail verschickt dann die mit < eingelesene Datei brieftext.
In die Röhre schauen?
Mit dem Pipe-Zeichen ("|") verknüpfen Sie Aus- und Eingabestrom und ketten so Befehle aneinander. Um beispielsweise die Ausgabe des Kommandos ls -l /etc/* im Pager less anzuzeigen, tippen Sie:
ls -l /etc/* | less
Ohne diese Umleitung scrollt die Ausgabe des ls-Befehls einfach aus dem Fenster heraus. Es ist auch möglich, mehrere dieser Pipelines hintereinander zu verwenden:
huhn@asteroid:~$ du ~ | sort -rn | less 15237932 /home/huhn 1598024 /home/huhn/digicam 1518428 /home/huhn/uni 1500236 /home/huhn/tmp 1246740 /home/huhn/uni/anglistik […]
Hier schaut zunächst das Kommando du [2] in allen Unterverzeichnissen des Home-Verzeichnis (abgekürzt durch die Tilde ~) nach, welche Dateien wie viel Platz belegen. Um herauszufinden, wer nun genau den meisten Platz belegt, leiten Sie die Ausgabe des du-Kommandos an den Befehl sort [3] weiter. Die beiden Parameter -r und -n sorgen dabei dafür, dass die Ausgabe in umgekehrter Reihenfolge erscheint und numerisch sortiert wird. Die zweite Pipe sorgt dafür, dass die Ausgabe der Befehle seitenweise erscheint.



