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

9 Beispiele für tee-Befehle unter Linux

Der Linux-Tee-Befehl ist ein Befehlszeilentool, es liest von der Standardeingabe und schreibt das Ergebnis gleichzeitig in die Standardausgabe und in Dateien. Mit anderen Worten, wir können sagen, dass der Tee-Befehl in Linux verwendet wird, um zwei Fliegen mit einer Klappe zu schlagen:Lesen von der Standardeingabe und gleichzeitiges Drucken des Ergebnisses in eine Datei und auf die Standardausgabe. Was meinen wir damit? In diesem Handbuch beleuchten wir den Linux-Befehl tee genauer und verwenden einige Beispiele, um seine Verwendung zu demonstrieren.

Tee-Befehlssyntax

Die Syntax des tee-Befehls ist recht einfach und hat das folgende Format:

$ tee OPTIONS Dateiname

Hier sind einige der Optionen, die Sie mit dem Befehl tee verwenden können:

In der Syntax des tee-Befehls bezieht sich Dateiname auf eine oder mehrere Dateien.

Schauen wir uns vor diesem Hintergrund einige Beispiele an, wie der Befehl verwendet wird.

Beispiel 1) Grundlegende Verwendung des tee-Befehls

Wie bereits beschrieben, besteht die Hauptfunktion des Befehls tee darin, die Ausgabe eines Befehls (stdout) anzuzeigen und in einer Datei zu speichern. Im folgenden Beispiel untersuchen wir mit dem Befehl die Blockgeräte in unserem System und leiten die Ergebnisse an den Befehl tee weiter, der die Ausgabe auf dem Terminal anzeigt und sie gleichzeitig in einer neuen Datei namens block_devices.txt

speichert
$lsblk | tee block_devices.txt

Fühlen Sie sich frei, den Inhalt der Datei block_devices.txt mit dem cat-Befehl wie gezeigt zu untersuchen:

$ cat block_devices.txt

Beispiel 2) Befehlsausgabe mit tee in mehreren Dateien speichern

Außerdem können Sie die Ausgabe eines Befehls in mehrere durch Leerzeichen getrennte Dateien schreiben, wie in der folgenden Syntax gezeigt.

$-Befehl | tee Datei1 Datei2 Datei3 . . .

Im folgenden Beispiel haben wir den Befehl hostnamectl aufgerufen, um neben anderen Details den Hostnamen unseres Systems auszugeben und die Standardausgabe in zwei Dateien file1.txt und file2.txt

zu speichern
$ hostnamectl | tee Datei1.txt Datei2.txt

Auch hier können Sie das Vorhandensein der Ausgabe in den beiden Dateien mit dem cat-Befehl wie gezeigt bestätigen:

$ cat Datei1.txt$ cat Datei2.txt

Beispiel 3) Ausgabe des tee-Befehls unterdrücken

Wenn Sie den Befehl tee verstecken oder unterdrücken möchten, die Ausgabe auf dem Bildschirm zu drucken, leiten Sie die Ausgabe wie gezeigt nach /dev/null um:

$-Befehl | tee-Datei> /dev/null

Zum Beispiel

$ df -Th | tee file4.txt> /dev/null

Beispiel 4) Hängen Sie die Ausgabe mit dem Befehl tee an eine Datei an

Standardmäßig überschreibt der Befehl tee den Inhalt einer Datei. Um die Ausgabe anzuhängen und das Löschen des aktuellen Inhalts zu verhindern, verwenden Sie die Optionen -a oder –append.

$-Befehl | tee -eine Datei

Im zweiten Befehl haben wir, wie gezeigt, die Ausgabe des date-Befehls an file1.txt angehängt, die bereits die Informationen über die USB-Geräte im System enthält.

$ Datum | tee -a file1.txt

Beispiel 5) Verwenden Sie tee zusammen mit dem sudo-Befehl

Angenommen, Sie möchten als sudo-Benutzer in eine Datei schreiben, die dem Root-Benutzer gehört. Natürlich erfordert jeder Vorgang mit erhöhten Rechten, dass Sie den sudo-Benutzer vor dem Befehl aufrufen.

Um dies zu erreichen, stellen Sie dem tee-Befehl einfach sudo voran, wie unten gezeigt.

$ echo "10.200.50.20 db-01" | sudo tee -a /etc/hosts/

Also empfängt tee die Ausgabe des echo-Befehls auf der linken Seite und erhöht diese mit dem sudo-Befehl, der schließlich die Ausgabe an die Datei anhängt.

Beispiel 6) Leite die Ausgabe eines Befehls auf einen anderen um, indem du den tee-Befehl verwendest

Mit dem Befehl tee können wir die Ausgabe eines Befehls einfach auf einen anderen Befehl umleiten. Hier fungiert die Ausgabe des ersten Befehls als Eingabe für den zweiten Befehl. Beispiel ist unten gezeigt:

$ grep 'root' /etc/passwd | tee /tmp/passwd.tmp | wc -l2$ cat /tmp/passwd.tmproot:x:0:0:root:/root:/bin/bashoperator:x:11:0:operator:/root:/sbin/nologin$

Beispiel 7) Änderungen in einer Datei im vi-Editor mit dem Befehl tee speichern

Nehmen wir an, Sie arbeiten als Nicht-Root-Benutzer und nehmen Änderungen an einer root-eigenen Datei vor und vergessen, sudo vor den Befehl zu setzen, und möchten jetzt Änderungen speichern. Das Beispiel wird unten gezeigt:

$ vi /etc/hosts127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4192.168.1.60   mail.linuxtechi.com192.168.1.50   ns.linuxtechi.com192.168.1.40    pxe.linuxtechi.com 

Beim Speichern der Änderungen an der Datei erhalten Sie eine schreibgeschützte Nachricht,

Um nun die Änderungen in der Datei /etc/hosts im vi-Editor zu speichern, führen Sie

aus

:w !sudo tee %

Sie werden aufgefordert, das Passwort des Benutzers einzugeben. Wenn der Benutzer über Sudo-Rechte verfügt, werden die Änderungen gespeichert.

Beispiel 8) Interrupt-Signal ignorieren, während der Tee-Befehl verwendet wird

Die Verwendung der Option '-i' im tee-Befehl kann das Interrupt-Signal (CTRL-C) ignorieren, das Beispiel ist unten gezeigt:

$ ping -c 5 linuxtechi.com  | tee -i /tmp/pingtest.tmp

Beispiel 9) Verwendung des tee-Befehls im Shell-Skript

Der Tee-Befehl wird auch häufig in Shell-Skripten verwendet, eines der üblichen Beispiele ist unten aufgeführt:

$ vi basic-script.sh#!/bin/bashLOGFILE=/tmp/basic-logs-$(date +%d%m%Y)FLAVOR=$(cat /etc/*-release  | grep -w 'NAME=' | cut -d"=" -f2 | awk '{print $1}'| sed 's/"//g')if [ $FLAVOR ==CentOS ];dann   dmesg | grep -i 'error' | tee -a $LOGFILE   grep -i 'installed' /var/log/dnf.log | tee -a $LOGFILEelse   echo 'do nothing'fi

Wie wir im obigen Linux-Shell-Skript sehen können, verwenden wir den Befehl tee, um die Ausgaben von zwei Befehlen nur dann an eine Protokolldatei anzuhängen, wenn das Betriebssystem CentOS ist.

Fazit

Damit ist das heutige Thema abgeschlossen. Fühlen Sie sich frei, sich zu wiegen. Ihr Feedback ist sehr willkommen. In diesem Handbuch haben wir den Linux-Befehl tee behandelt.


Linux
  1. sa-Befehlsbeispiele in Linux

  2. w Befehlsbeispiele unter Linux

  3. ac-Befehlsbeispiele in Linux

  4. df-Befehlsbeispiele in Linux

  5. du-Befehlsbeispiele in Linux

16 Beispiele für Echo-Befehle unter Linux

9 diff-Befehlsbeispiele in Linux

Befehlsoptionen und Beispiele für den Tee-Befehl in Linux

Linux tee-Befehlsbeispiele

Linux tee-Befehl erklärt (mit Beispielen)

id-Befehlsbeispiele in Linux