Tee-Time

Praktisch in Zusammenhang mit komplexen Pipelines ist das Tool tee. Der Name leitet sich aber nicht vom Heißgetränk ab, sondern vom "T-Stück" – etwa als Verbinder und Abzweig zwischen zwei Rohrleitungen. Das Kommando tee erwartet Daten aus der Standardeingabe und reicht sie unverändert an die Standardausgabe durch – kopiert sie aber gleichzeitig in die angegebene Datei. Die allgemeine Syntax von tee lautet:

tee [-option] datei

Das T-Stück können Sie über eine Pipe zwischen zwei Befehlen einfügen. tee nimmt dann die Ausgabe des ersten Befehls entgegen, leitet sie in eine Datei und zusätzlich an das nächste Kommando weiter:

huhn@asteroid:~$ who | tee eingeloggt.txt | grep huhn
huhn     :0           Apr 29 13:45

Hier schaut der Befehl who zunächst nach, wer auf dem System eingeloggt ist. Die Ausgabe durchsucht der grep-Befehl nach "huhn". Das in der Mitte eingefügte Kommando tee sorgt dafür, dass die who-Ausgabe vorher in der Datei eingeloggt.txt landet.

Der Befehl tee kennt zwei interessante Optionen: Mit -a ("append") hängen Sie Daten an eine bereits bestehende Datei an. Ohne diese Option überschreibt tee diese bei jedem neuen Aufruf. Die Option -i verhindert, dass sich tee beim Auftreten von Interrupts ([Strg-c]) im Datenstrom beendet.

tee kommt häufig zum Einsatz, wenn viele durch Pipes verbundene Kommandos im Einsatz sind. Eine Zwischenspeicherung von einzelnen Ausgaben in temporäre Dateien kann beim Aufspüren und Beheben von Fehlern in der Befehlskette helfen. Läuft alles glatt, können die T-Stücke einfach herausgenommen werden. Eine weitere Einsatzmöglichkeit ist das "Protokollieren" eines Kommandos, das sehr viel Zeit in Anspruch nimmt, z. B.:

tar cvf backup.tar * | tee backup.log

Zusätzlich zum Tar-Archiv wird hier ein Logfile angelegt, das Sie auch noch später zu Kontrollzwecken anschauen können. Eine alternative Umleitung des tar-Kommandos mit > backup.log unterdrückt die Ausgabe ins Fenster, die zuvor durch den Parameter v eingeschaltet wurde, und Sie müssten den Fortschritt von tar mit dem Befehl tail -f backup.log in einem anderen Terminal verfolgen.

Glossar

File Descriptor

Jeder Prozess verwaltet unter Linux eine Liste aller geöffneten Dateien, jeder Eintrag in dieser Liste hat eine eindeutige Nummer, die auch File Descriptor genannt wird. Die Descriptors 0, 1 und 2 werden automatisch erzeugt, da jeder Prozess mit geöffneter Standardein-, -aus- und -fehlerausgabe startet.

Infos

[1] mail: Heike Jurzik, "Minimal mit mail", LinuxUser 03/2003, S. 82

[2] df und du: Heike Jurzik, "Das richtige Maß", LinuxUser 01/2004, S. 78

[3] sort: Heike Jurzik, "Richtige Reihenfolge", LinuxUser 04/2002, S. 76

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Zu Befehl: Suchen mit grep, egrep, fgrep, (b)zgrep
    Für die Suche nach Wörtern und Ausdrücken in Textdateien bieten sich die Kommandos der grep-Familie an. Als Ergebnis zeigen sie wahlweise die gefundenen Zeilen, die Namen der Dateien, in denen das Suchmuster vorkommt, oder die Anzahl der Treffer an.
  • Zu Befehl: ps, pstree, lsof, kill
    Linux als multitasking-fähiges System besitzt eine leistungsfähige Prozessverwaltung – durch geschickte Ressourcenaufteilung scheinen Programme nicht nur gleichzeitig abzulaufen, es ist auch wesentlich leichter, sich von Prozessen zu trennen, die Probleme verursachen. Wir stellen Kommandos vor, mit denen Sie kurzen Prozess machen.
  • Zu Befehl: date & cal
    Die Kommandozeilen-Tools cal und date erzeugen Kalender und bearbeiten Datum und Uhrzeit. Wenn man sie geschickt einsetzt, kann man daraus zum Beispiel eine kleine Geburtstagsverwaltung machen.
  • Zu Befehl
    MP3s hören, in wav-Dateien umwandeln, Playlists abspielen, mit Shell-Skripten zusammenarbeiten – das alles und noch viel mehr kann das Programm mpg123. Bringen Sie Ihre Kommandozeile zum Singen!
  • sed
    Der Stream-Editor sed hilft beim automatischen Verändern einer oder mehrerer Dateien, vereinfacht sich wiederholende Änderungen oder erstellt gleich ganze Konvertierungsprogramme. Monotone Aufgaben der Textverarbeitung lassen sich so im Handumdrehen lösen.
Kommentare

Infos zur Publikation

LU 12/2016: Neue Desktops

Digitale Ausgabe: Preis € 5,99
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Drucker Epson XP-332 unter ubuntu 14.04 einrichten
Andrea Wagenblast, 30.11.2016 22:07, 2 Antworten
Hallo, habe vergeblich versucht mein Multifunktionsgerät Epson XP-332 als neuen Drucker unter...
Apricity Gnome unter Win 10 via VirtualBox
André Driesel, 30.11.2016 06:28, 2 Antworten
Halo Leute, ich versuche hier schon seit mehreren Tagen Apricity OS Gnome via VirtualBox zum l...
EYE of Gnome
FRank Schubert, 15.11.2016 20:06, 2 Antworten
Hallo, EOG öffnet Fotos nur in der Größenordnung 4000 × 3000 Pixel. Größere Fotos werden nic...
Kamera mit Notebook koppeln
Karl Spiegel, 12.11.2016 15:02, 2 Antworten
Hi, Fotografen ich werde eine SONY alpha 77ii bekommen, und möchte die LifeView-Möglichkeit nu...
Linux auf externe SSD installieren
Roland Seidl, 28.10.2016 20:44, 1 Antworten
Bin mit einem Mac unterwegs. Mac Mini 2012 i7. Würde gerne Linux parallel betreiben. Aber auf e...