Startseite > Datei- und Verzeichnisverwaltung > tee

tee: Standardeingabe gleichzeitig an Dateien und Standardausgabe senden

Der Befehl tee ist ein Dienstprogramm, das die Standardeingabe empfängt, sie an die Standardausgabe weiterleitet und sie gleichzeitig in eine oder mehrere Dateien schreibt. Er wird häufig in Pipelines verwendet, um Zwischenergebnisse zu überprüfen oder Daten gleichzeitig in mehrere Dateien zu speichern. Die Option `-a` wird verwendet, um Inhalte an eine Datei anzuhängen, anstatt sie zu überschreiben.

Übersicht

Der Befehl tee funktioniert wie eine T-förmige Pipe, die Daten von der Standardeingabe an die Standardausgabe weiterleitet und sie gleichzeitig in angegebene Dateien schreibt. Dies ist sehr nützlich, um Zwischenergebnisse in Pipelines zu überwachen oder dieselben Daten an mehreren Stellen zu speichern. Standardmäßig überschreibt er den Inhalt einer vorhandenen Datei, aber mit der Option `-a` können Sie Inhalte an eine vorhandene Datei anhängen.

Hauptmerkmale

  • Gleichzeitige Übertragung der Standardeingabe an Standardausgabe und Dateien
  • Überschreiben oder Anhängen von Dateiinhalten
  • Nützlich zur Überprüfung von Zwischenergebnissen in Pipelines

Hauptoptionen

Die Hauptoptionen des Befehls tee steuern, wie Daten in Dateien geschrieben werden.

Schreibmodi

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`tee` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

Verschiedene Anwendungsbeispiele für den Befehl tee.

Standardausgabe in eine Datei überschreiben

echo "Hello World" | tee output.txt

Standardverhalten, überschreibt den Inhalt der Datei, wenn sie existiert.

Standardausgabe an eine Datei anhängen

echo "Another line" | tee -a output.txt

Verwendet die Option `-a`, um neue Inhalte am Ende des vorhandenen Dateiinhalts anzuhängen.

Gleichzeitiges Schreiben in mehrere Dateien

ls -l | tee file1.txt file2.txt

Sie können mehrere Dateipfade angeben, um denselben Inhalt gleichzeitig in diese zu schreiben.

Schreiben in eine Datei mit sudo-Berechtigungen

echo "Restricted content" | sudo tee -a /var/log/system.log

Nützlich, wenn Sie Inhalte in Systemdateien schreiben möchten, für die normale Benutzer keine Schreibberechtigung haben.

Überprüfung von Zwischenergebnissen in einer Pipeline

cat /etc/passwd | grep "root" | tee root_users.txt | wc -l

Verwenden Sie tee in der Mitte einer Pipeline, um Daten in eine Datei zu schreiben und sie gleichzeitig an den nächsten Befehl weiterzuleiten.

Tipps & Hinweise

Nützliche Tipps und zu beachtende Punkte bei der Verwendung des Befehls tee.

Verwendung mit sudo

  • `sudo tee` ist sehr nützlich, wenn Sie Inhalte in Dateien schreiben möchten, für die normale Benutzer keine Schreibberechtigung haben. Während `echo "Inhalt" > /pfad/zur/geschützten/datei` aufgrund der Shell-basierten Umleitung nicht von `sudo` beeinflusst wird, wird bei `echo "Inhalt" | sudo tee /pfad/zur/geschützten/datei` der Befehl `tee` mit `sudo`-Berechtigungen ausgeführt, sodass er in die Datei schreiben kann.

Nutzung von Pipelines

  • `tee` fungiert als Verzweigungspunkt in einer Pipeline. Dadurch werden Daten an den nächsten Befehl weitergeleitet und gleichzeitig in eine Datei geschrieben, was es für Debugging und Logging effektiv macht.

Wichtigkeit der -a Option

  • Wenn die Option `-a` nicht verwendet wird, überschreibt `tee` standardmäßig die Datei. Beim Anhängen von Daten an wichtige Protokolldateien sollten Sie unbedingt die Option `-a` verwenden, um den vorhandenen Inhalt zu erhalten.

Verwandte Befehle

Funktional ähnliche oder häufig zusammen verwendete Befehle.


Gleiche Kategorie Befehle