Tutorials  /  Linux Basics

tee-Befehl unter Linux: Anleitung für Umleitungen & Logs

Ccentron Redaktion · März 2025 ·9 Min. Lesezeit ·Linux Basics, Tutorial

Der Befehl tee ist ein integriertes Werkzeug unter Linux. Er liest Daten vom Standard-Input (STDIN) und schreibt diese gleichzeitig an den Standard-Output (STDOUT) sowie in eine oder mehrere Dateien. Dank der Unterstützung für Pipelines lässt sich tee flexibel mit anderen Befehlen kombinieren, was ihn ideal für komplexe Workflows macht. Im Gegensatz zu einer einfachen Umleitung zeigt tee die Ausgabe in Echtzeit an, was insbesondere bei der Protokollierung oder Fehlersuche in Shell-Skripten von Vorteil ist.

In dieser Anleitung lernst du, wie du tee zum Schreiben, Verwalten und Umleiten von Ausgaben unter Linux verwenden kannst – inklusive der verfügbaren Optionen.

Syntax des Befehls tee

Die Grundstruktur von tee sieht folgendermaßen aus:

Konsole
$ tee [OPTIONEN]... [DATEI]...

In diesem Aufbau steuern die OPTIONEN das Verhalten des Befehls, während DATEI die Zieldatei(en) angibt, in die geschrieben wird. Nachfolgend eine Liste gängiger Optionen von tee:

  • -a oder --append: Hängt die Ausgabe an bestehende Dateien an, ohne diese zu überschreiben.
  • -i oder --ignore-interrupts: Ignoriert Abbruchsignale.
  • -h oder --help: Zeigt eine Hilfeübersicht mit den verfügbaren Optionen an.
  • -v oder --version: Gibt die installierte Version von tee aus.

Um grundlegende Anwendungsbeispiele zu testen, führe die folgenden Befehle in deinem Linux-Terminal aus.

VM

Passende Infrastruktur bei centron

Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

Beispiel: Hilfeinformationen zu tee anzeigen

Konsole
$ tee --help

Erwartete Ausgabe:

Code
Usage: tee [OPTION]... [FILE]...  
Copy standard input to each FILE, and also to standard output.  

  -a, --append              append to the given FILEs, do not overwrite  
  -i, --ignore-interrupts   ignore interrupt signals  
  -p                        diagnose errors writing to non pipes  
  --output-error[=MODE]     set behavior on write error. See MODE below  
  --help                    display this help and exit  
  --version                 output version information and exit

Beispiel: Installierte Version von tee prüfen

Konsole
$ tee --version

Beispielausgabe:

Code
tee (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Die Option -i in tee verwenden, um Unterbrechungssignale zu ignorieren

Mit der Option -i sorgt der tee-Befehl dafür, dass Prozesse auch bei Unterbrechungssignalen wie Strg + C nicht gestoppt werden:

Konsole
$ tee -i

Diese Option eignet sich besonders für lang laufende Prozesse, bei denen eine unbeabsichtigte Unterbrechung vermieden werden soll. Um tee bei aktiver -i-Option zu beenden, drücke Strg + Z.

Dateien mit dem tee-Befehl unter Linux erstellen

Mit tee kannst du sowohl neue Dateien anlegen als auch bestehende Dateien bearbeiten. Wird die Option -a (append) genutzt, werden Inhalte an bestehende Dateien angehängt. Ohne diese Option überschreibt tee die Datei. So funktioniert das Erstellen neuer Dateien mit tee:

Erstelle eine Datei output.txt mit dem Text "Hello World":

Konsole
$ echo "Hello World" | tee output.txt

Ausgabe:

Code
Hello World

Überprüfe den Inhalt der Datei output.txt mit cat:

Konsole
$ cat output.txt

Ausgabe:

Code
Hello World

Erstelle nun mit dem Inhalt von output.txt eine weitere Datei merged.txt:

Konsole
$ cat output.txt | tee merged.txt

Ausgabe:

Code
Hello World

Dateien mit dem tee-Befehl überschreiben

Standardmäßig überschreibt tee vorhandene Dateien, sofern nicht die -a-Option verwendet wird. So lässt sich der Inhalt einer Datei mit tee überschreiben:

Prüfe zunächst den aktuellen Inhalt der Datei output.txt:

Konsole
$ cat output.txt

Ausgabe:

Code
Hello World

Überschreibe jetzt den Inhalt von output.txt mit dem neuen Text "Greetings":

Konsole
$ echo "Greetings" | tee output.txt

Erwartete Ausgabe:

Code
Greetings

Überprüfe abschließend, ob der neue Inhalt korrekt gespeichert wurde:

Konsole
$ cat output.txt

Ausgabe:

Code
Greetings

Inhalte an Dateien anhängen mit dem tee-Befehl

Wenn du Inhalte zu einer bestehenden Datei hinzufügen möchtest, ohne deren vorhandenen Inhalt zu überschreiben, verwende tee mit der Option -a (append). So funktioniert das Anhängen von Text mit tee:

Füge den Text "Hello" an das Ende der Datei output.txt an:

Konsole
$ echo "Hello" | tee -a output.txt

Ausgabe:

Code
Hello

Überprüfe den Inhalt von output.txt, um sicherzustellen, dass die neue Zeile angehängt wurde:

Konsole
$ cat output.txt

Ausgabe:

Code
Greetings
Hello

In mehrere Dateien gleichzeitig schreiben mit dem tee-Befehl

Mit dem tee-Befehl kannst du denselben Inhalt gleichzeitig in mehrere Dateien schreiben. Das ist besonders praktisch, wenn du Ausgaben protokollieren und parallel anzeigen möchtest.

Um Daten in mehrere Dateien zu schreiben, gib einfach die gewünschten Dateinamen hintereinander an:

Konsole
$ tee <datei1> <datei2> <datei3> ...

Beispiel: Erstelle zwei Dateien mit dem gemeinsamen Inhalt "The Data Backup Process is Complete":

Konsole
$ echo "The Data Backup Process is Complete" | tee file1.txt file2.txt

Prüfe den Inhalt beider Dateien, um sicherzustellen, dass die Daten korrekt geschrieben wurden:

Konsole
$ cat file1.txt file2.txt

Ausgabe:

Code
The Data Backup Process is Complete
The Data Backup Process is Complete

Diese Ausgabe bestätigt, dass tee den Inhalt erfolgreich in file1.txt und file2.txt kopiert hat. Du kannst tee nutzen, um Inhalte zu erstellen, zu überschreiben oder an mehrere Dateien gleichzeitig anzuhängen.

Mehrzeiligen Inhalt mit tee und Heredoc in mehrere Dateien schreiben

Um mehrere Zeilen Text gleichzeitig in verschiedene Dateien zu schreiben, kannst du tee mit der Heredoc-Syntax kombinieren. So funktioniert das:

Konsole
$ tee test1.txt test2.txt <<EOF
Backup Report - File 1 and File 2
2024 Backup Summary
EOF

Die Notation <<EOF dient dazu, mehrzeiligen Text zu definieren, der von tee gleichzeitig in test1.txt und test2.txt geschrieben wird.

Überprüfe den Inhalt beider Dateien, um das Ergebnis zu verifizieren:

Konsole
$ cat test1.txt test2.txt

Ausgabe:

Code
Backup Report - File 1 and File 2
2024 Backup Summary
Backup Report - File 1 and File 2
2024 Backup Summary

tee-Befehl mit erhöhten Rechten (sudo) verwenden

Um Dateien zu ändern, die nur mit Root-Rechten bearbeitet werden dürfen, verwende tee in Kombination mit sudo. Hier ein Beispiel, wie du einen Eintrag zur /etc/hosts-Datei hinzufügst:

Konsole
$ echo "192.0.2.1 mycustomhost.local" | sudo tee -a /etc/hosts

Dieser Befehl ergänzt die IP-Zuweisung 192.0.2.1 mycustomhost.local in der Datei /etc/hosts. Da die Datei Root-Zugriff erfordert, ist sudo notwendig – ohne sudo wird eine Fehlermeldung angezeigt.

Ausgabe:

Code
192.0.2.1 mycustomhost.local

Überprüfe den Inhalt der Datei /etc/hosts, um die Änderung zu bestätigen:

Konsole
$ cat /etc/hosts

Beispielausgabe:

Code
127.0.0.1 localhost
...
::1 localhost ip6-localhost ip6-loopback
...

192.0.2.1 mycustomhost.local

tee mit anderen Befehlen kombinieren: Ausgabe filtern und umleiten

Der tee-Befehl lässt sich hervorragend mit anderen Linux-Befehlen kombinieren, um Daten in einer Pipeline anzuzeigen, zwischenzuspeichern oder weiterzuleiten. Im Folgenden einige typische Anwendungsfälle:

ls-Ausgabe in eine Datei umleiten

Führe den Befehl ls aus und leite die Ausgabe mit tee in die Datei list.txt um:

Konsole
$ ls | tee list.txt

Überprüfe den Inhalt der Datei list.txt:

Konsole
$ cat list.txt

Beispielausgabe:

Code
file1.txt
file2.txt
list.txt
output.txt
test1.txt
test2.txt

Ausgabe mit grep filtern und umleiten

Nutze grep zwischen tee und der Umleitung, um nur bestimmte Inhalte weiterzugeben – z. B. alle .txt-Dateien:

Konsole
$ ls | tee intermediate.txt | grep .txt > final.txt

Hier wird die Ausgabe von ls zunächst in intermediate.txt gespeichert, danach durch grep gefiltert und schließlich in final.txt umgeleitet.

Überprüfe beide Dateien:

Konsole
$ cat intermediate.txt
$ cat final.txt

Erwartete Ausgabe:

Code
final.txt
intermediate.txt
list.txt
merged.txt
output.txt

Erweiterte Filterung mit awk und sort

Kombiniere tee mit awk und sort, um Prozessdaten zu verarbeiten und sortiert in einer Datei zu speichern:

Konsole
$ ps aux | tee process_list.txt | awk '{print $1, $2}' | sort | tee sorted_process_list.txt

Der obige Befehl speichert die vollständige Prozessliste in process_list.txt, filtert Benutzername und PID heraus, sortiert das Ergebnis und schreibt es in sorted_process_list.txt.

Überprüfe den Inhalt beider Dateien:

Konsole
$ cat process_list.txt
$ cat sorted_process_list.txt

Fazit

In dieser Anleitung hast du gelernt, wie du den tee-Befehl unter Linux vielseitig einsetzt – von der Dateierstellung bis hin zu komplexen Pipe-Kombinationen. Du kannst damit Ausgaben erstellen, überschreiben, anhängen oder gleichzeitig protokollieren und anzeigen. Weitere Informationen findest du auf der Manpage:

Konsole
$ man tee
Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Linux Basics
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren