GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwenden Sie den Linux-te-Befehl

Einführung

Wenn der Benutzer einen Befehl in einer interaktiven Linux-Shell ausführt, wird die Ausgabe im Textterminal angezeigt. Es gibt jedoch Möglichkeiten, dieses Verhalten zu ändern, indem zusätzliche Shell-Befehle in einer Pipeline verbunden werden.

In diesem Tutorial erfahren Sie, wie Sie den tee-Befehl unter Linux verwenden, um die Ausgabe eines Befehls zu verwalten.

Voraussetzungen

  • Ein System, auf dem Linux ausgeführt wird
  • Zugriff auf die Befehlszeile oder das Terminal
  • Sudo-Berechtigungen

Was macht der tee-Befehl unter Linux?

Das tee Der Befehl liest die Standardeingabe (stdin) und schreibt sie sowohl in die Standardausgabe (stdout) als auch in eine oder mehrere Dateien. tee ist normalerweise Teil einer Pipeline, und ihm können beliebig viele Befehle vorangehen oder folgen.

tee-Befehle in Linux mit Beispielen

Das tee Der Befehl wird allein oder mit zusätzlichen Optionen verwendet. Die folgenden Abschnitte listen die verfügbaren Optionen auf und bieten Beispiele für die Verwendung von Befehlen.

Grundlegende Verwendung

Die grundlegende Syntax für das tee Befehl ist:

[command] | tee [options] [filename]

Das folgende Beispiel zeigt die Verwendung von tee So erstellen Sie eine Datei, die Informationen über eine Netzwerkschnittstelle speichert und gleichzeitig die gleiche Ausgabe im Terminal bereitstellt:

Der cat-Befehl bestätigt dieses tee hat die Ausgabe von ifconfig erfolgreich geschrieben in die Datei example.txt :

Wenn die für den Befehl verwendete Datei bereits vorhanden ist, tee überschreibt den vorherigen Inhalt der Datei.

An die gegebene Datei anhängen

Das Überschreiben des Inhalts der Datei ist das Standardverhalten des tee Befehl. Verwenden Sie das Argument -a (oder --append ), um die Befehlsausgabe am Ende der Datei hinzuzufügen.

[command] | tee -a [filename]

Verwenden Sie zum Beispiel echo Befehl zum Anhängen einer Textzeile an eine Datei:


Bestätigen Sie das erfolgreiche Hinzufügen mit der cat Befehl:

In mehrere Dateien schreiben

Verwenden Sie tee gefolgt von einer beliebigen Anzahl von Dateien, um dieselbe Ausgabe in jede von ihnen zu schreiben:

[command] | tee [options] [filename1] [filename2]...

Das folgende Beispiel zeigt das Schreiben der Ausgabe von echo Befehl in zwei Dateien:

Die ls Befehl zeigt dieses tee erfolgreich erstellte Dateien example1.txt und example2.txt .

Ausblenden der Ausgabe

Um tee zu sagen Um die Befehlsausgabe in einer Datei zu speichern und die Terminalausgabe zu überspringen, verwenden Sie die folgende Syntax:

[command] | tee [options] [filename] >/dev/null

Im folgenden Beispiel tee erstellt eine Datei mit den Netzwerkschnittstellendaten, wobei die Standardausgabe übersprungen wird:

Ausgabe eines Befehls auf einen anderen umleiten

tee muss nicht der letzte Befehl in der Pipeline sein. Verwenden Sie es, um die Ausgabe an einen anderen Befehl weiterzuleiten:

[command] | tee [options] [filename] | [command]

Im folgenden Beispiel tee speichert die Ausgabe von ls Befehl zu example.txt und übergibt den Inhalt dieser Datei an den grep-Befehl, der alle Instanzen des Wortes „Beispiel“ findet und anzeigt:

Interrupts ignorieren

Um tee zu aktivieren Um auch nach Unterbrechung des vorherigen Befehls ordnungsgemäß zu beenden, fügen Sie das Argument -i hinzu (oder --ignore-interrupts ):

[command] | tee -i [filename]

Das nächste Beispiel zeigt tee Schreiben der Ausgabe des Ping-Befehls und erfolgreiches Abschließen der Aktion auch nach ping wird mit Ctrl+C unterbrochen :

Tee mit Sudo verwenden

Um tee zu aktivieren Um in eine root-eigene Datei oder eine Datei eines anderen Benutzers zu schreiben, platzieren Sie den sudo-Befehl direkt vor tee .

[command] | sudo tee [options] [filename]

Das folgende Beispiel zeigt einen erfolglosen Versuch, in die root-eigene Datei sudoex.txt zu schreiben . Wenn die sudo Befehl hinzugefügt wird, wird die Operation abgeschlossen:

Tee im Vim-Editor verwenden

Wenn Sie eine root-eigene Datei in Vim öffnen und bearbeiten, ohne die sudo Befehl, der Versuch, Änderungen zu speichern, erzeugt einen Fehler:

Um diesen Fehler zu überschreiben, geben Sie Folgendes in Vim ein:

:w !sudo tee %

Nachdem Sie sudo eingegeben haben Passwort, zeigt Vim eine Warnung an, schreibt aber die Änderungen in die Datei.

Fehler beim Schreiben in Nicht-Pipes diagnostizieren

Um tee anzuweisen Um eine Fehlermeldung auszugeben, wenn der Vorgang fehlschlägt, verwenden Sie -p Argument:

[command] | tee -p [filename]

Die Standardaktion von tee -p besteht darin, die Fehlermeldung sofort zu beenden und auszugeben, wenn der Fehler beim Schreiben in eine Pipe erkannt wird. Um das Verhalten des Befehls bei Schreibfehlern zu ändern, verwenden Sie --output-error Argument, gefolgt vom Modus, der das Verhalten angibt:

[command] | tee --output-error=[mode] [filename]

Es gibt vier mögliche Modi:

  • warn – diagnostiziert Fehler beim Schreiben auf einen beliebigen Ausgang.
  • warn-nopipe – diagnostiziert Fehler beim Schreiben in Nicht-Pipe-Ausgaben.
  • exit – Beenden bei Fehlern beim Schreiben in eine beliebige Ausgabe.
  • exit-nopipe – wird bei Fehlern beim Schreiben in eine Nicht-Pipe-Ausgabe beendet.

Verwenden Sie den tee-Befehl mit Bash-Skript

Das tee Der Befehl findet sich häufig in Bash-Skripten. Betrachten Sie das folgende Beispiel:

Das obige Skript gibt die Nachricht „Hello World“ aus und speichert die Ausgabe in einer Protokolldatei. Das Ausführen des Skripts erstellt eine Protokolldatei im tmp Mappe. Das Protokoll enthält die Ausgabe des Skripts:

Protokolldateien beobachten

Das Schreiben von Skriptausgaben in eine Protokolldatei erfolgt normalerweise mit > Betreiber:

./testbash.sh > testbash.log

Der obige Befehl erstellt eine Protokolldatei, schreibt jedoch nichts in die Standardausgabe.

Verwenden Sie tee um eine Protokolldatei zu erstellen und die Ausgabe im Terminal anzuzeigen:

./testbash.sh | tee testbash.log

Siehe Hilfe und Versionsinformationen

Sehen Sie sich die aktuelle Version des tee an Befehl durch Eingabe von:

tee --version

Für die Anweisungen bezüglich des tee Befehlssyntax und den verfügbaren Argumenten verwenden Sie das Hilfsargument des Befehls:

tee --help

Linux
  1. So verwenden Sie den Linux-Grep-Befehl

  2. So verwenden Sie den Verlaufsbefehl unter Linux

  3. So verwenden Sie den Su-Befehl unter Linux

  4. So verwenden Sie den id-Befehl unter Linux

  5. So verwenden Sie den Befehl „screen“ unter Linux

So verwenden Sie den Linux Top-Befehl

So verwenden Sie den fd-Befehl auf einem Linux-System

Wie verwende ich den wget-Befehl unter Linux?

Wie verwende ich den xargs-Befehl unter Linux?

So verwenden Sie den RPM-Befehl unter Linux

So verwenden Sie den which-Befehl in Linux