Linux tee Befehl erklärt für Anfänger (6 Beispiele)
Es gibt Zeiten, in denen Sie die Ausgabe eines Befehls manuell verfolgen und gleichzeitig sicherstellen möchten, dass die Ausgabe in eine Datei geschrieben wird, damit Sie später darauf zugreifen können. Wenn Sie auf der Suche nach einem Linux-Tool sind, das dies für Sie tun kann, werden Sie sich freuen zu erfahren, dass es einen Befehl gibt – tee – das für diesen Zweck gebaut wurde. Text kann auf der Konsole auch mittels echo Befehl ausgegeben werden.
In diesem Tutorial werden wir die Grundlagen des Tee-Befehls anhand einiger leicht verständlicher Beispiele diskutieren. Aber bevor wir das tun, ist es erwähnenswert, dass alle in diesem Artikel verwendeten Beispiele auf Ubuntu 22.04 LTS getestet wurden.
Linux tee Befehl
Der tee-Befehl liest im Wesentlichen aus der Standardeingabe und schreibt in die Standardausgabe und Dateien. Es folgt die Syntax des Befehls:
tee [OPTION]... [FILE]...
Und so erklärt es die Manualseite:
Copy standard input to each FILE, and also to standard output.
Die folgenden Beispiele im Q&A-Stil sollen Ihnen eine bessere Vorstellung davon vermitteln, wie der Befehl funktioniert.
Q1. Wie kann man den tee-Befehl unter Linux verwenden?
Angenommen, Sie verwenden den Befehl ping aus irgendeinem Grund.
ping google.com
Und was Sie wollen, ist, dass die Ausgabe auch parallel in eine Datei geschrieben wird. Dann kannst du hier den tee-Befehl verwenden.
ping google.com | tee output.txt
Der folgende Screenshot zeigt, dass die Ausgabe in die Datei’output.txt‘ geschrieben und auf stdout geschrieben wurde.
Das sollte also die grundlegende Verwendung von Tee klären.
Q2. Wie kann man sicherstellen, dass tee Informationen in Dateien anhängt?
Standardmäßig überschreibt der Befehl tee Informationen in einer Datei, wenn er erneut verwendet wird. Wenn Sie möchten, können Sie dieses Verhalten jedoch mit der Befehlszeilenoption -a ändern.
[command] | tee -a [file]
Im Grunde genommen erzwingt die Option -a das T-Stück, um Informationen an die Datei anzuhängen.
Q3. Wie kann man das Tee in mehrere Dateien schreiben lassen?
Das ist ziemlich einfach. Du musst nur ihre Namen nennen.
[command] | tee [file1] [file2] [file3]
Zum Beispiel:
ping google.com | tee output1.txt output2.txt output3.txt
Q4. Wie kann man die Ausgabe eines Befehls auf einen anderen umleiten?
Sie können tee nicht nur verwenden, um die Ausgabe gleichzeitig in Dateien zu schreiben, sondern auch, um die Ausgabe vom ls Befel als Eingabe an andere Befehle weiterzugeben. Der folgende Befehl speichert beispielsweise nicht nur die Dateinamen in ‚output.txt‘, sondern teilt Ihnen auch – über wc – die Anzahl der Einträge in der output.txt-Datei mit.
ls file* | tee output.txt | wc -l
Q5. Wie schreibt man mit tee in eine Datei mit erhöhten Rechten?
Angenommen, Sie haben eine Datei im Vim-Editor geöffnet, viele Änderungen vorgenommen, und als Sie dann versuchten, diese Änderungen zu speichern, bekamen Sie einen Fehler, der Sie erkennen ließ, dass es sich um eine root-eigene Datei handelt, was bedeutet, dass Sie sudo-Rechte besitzen müssen, um diese Änderungen zu speichern.
In solchen Szenarien können Sie mit tee die Berechtigungen für unterwegs erhöhen.
:w !sudo tee %.
Der oben genannte Befehl fragt Sie nach dem Root-Passwort und lässt Sie die Änderungen speichern.
Q6. Wie lässt man Tee ignorieren Interrupt?
Die Befehlszeilenoption -i ermöglicht es tee, das Interruptsignal (SIGINT
) zu ignorieren, das normalerweise ausgegeben wird, wenn Sie die Tastenkombination crl+c drücken.
[command] | tee -i [file]
Dies ist nützlich, wenn Sie den Befehl mit Strg+c beenden möchten, aber das T-Stück elegant beendet werden soll.
Fazit
Sie werden wahrscheinlich zustimmen, dass Tee ein äußerst nützlicher Befehl ist. Wir haben hier über seine grundlegende Verwendung sowie die meisten seiner Kommandozeilenoptionen gesprochen. Das Tool hat keine steile Lernkurve, also üben Sie einfach all diese Beispiele, und Sie sollten gut sein zu gehen. Weitere Informationen finden Sie auf der Man Page des Tools.