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

8 Linux-Tee-Befehl mit Beispielen

Der Linux-te-Befehl wird zum Verketten und Umleiten von Aufgaben verwendet. Sie können die Ausgabe und/oder Fehler in eine Datei umleiten und sie werden nicht auf dem Terminal angezeigt. In ähnlicher Weise kann bei der Verkettung die Ausgabe eines Befehls als Eingabe für den zweiten Befehl und weiter für den dritten Befehl usw. angegeben werden, aber sobald Sie die Ausgabe in eine Datei umgeleitet haben, können Sie sie nicht mehr mit anderen Befehlen verketten.

Linux tee kann verwendet werden, um diese beiden Ergebnisse zusammen zu erzielen, d. h. das Ergebnis in einer Datei zu speichern, während dieselbe Ausgabe mit einem anderen Befehl verkettet wird.

In diesem Tutorial werden wir anhand einiger Beispiele die Verwendung von Linux tee besprechen.

Tee-Befehlssyntax

Der tee-Befehl liest grundsätzlich von der Standardeingabe und schreibt in die Standardausgabe und in Dateien. Es folgt die Syntax des Befehls:

$ command | tee [OPTION]... [FILE]...

Die folgenden Beispiele sollen uns eine bessere Vorstellung davon geben, wie der Befehl funktioniert.

1) Wie man in die Standardausgabe und in eine Datei schreibt

Um in die Standardausgabe und eine Datei zu schreiben, verwenden Sie tee nach einem senkrechten Strich und geben Sie die Datei an.

$ sudo ls /home/smart | tee folders_of_smart.txt

Jetzt können wir zu folders_of_smart.txt gehen und sehen Sie sich den Inhalt der Datei an, indem Sie den folgenden Befehl eingeben.

$ sudo nano folders_of_smart.txt
  Output:
  folders_of_smart.txt
  foo.txt
  output.txt
  rootlisting.txt

2) Wie man in eine Datei schreibt und die Ausgabe anhängt

Um die Ausgabe an die vorhandene Datei anzuhängen, verwenden wir -a Option.

$ sudo echo 'Movies' | tee -a folders_of_smart.txt

Jetzt können wir zu folders_of_smart.txt gehen und sehen Sie sich den Inhalt der Datei an, indem Sie den folgenden Befehl eingeben.

$ sudo nano folders_of_smart.txt
  Output:
  folders_of_smart.txt
  foo.txt
  output.txt
  rootlisting.txt
  Movies

3) Wie man in mehrere Dateien schreibt

Um in mehrere Dateien zu schreiben, müssen wir nur ihre Namen in der Befehlszeile angeben.

$ sudo ping facebook.com | tee output1.txt output2.txt output3.txt

Jetzt können wir zu output1.txt gehen , output2.txt und sehen Sie sich den Inhalt der Datei an, indem Sie den folgenden Befehl eingeben.

$ sudo nano output1.txt
$ sudo nano output2.txt
  Output:
  PING facebook.com(edge-star-mini6-shv-02-dfw5.facebook.com (2a03:2880:f134:183:face:b00c:0:25de)) 5$
  64 bytes from edge-star-mini6-shv-02-dfw5.facebook.com (2a03:2880:f134:183:face:b00c:0:25de): icmp_$
  64 bytes from edge-star-mini6-shv-02-dfw5.facebook.com (2a03:2880:f134:183:face:b00c:0:25de): icmp_$

4) Wie man die Ausgabe eines Befehls auf einen anderen umleitet

Wir können die Ausgabe auch als Eingabe an andere Befehle weitergeben. Der folgende Befehl listet beispielsweise nicht alle Ordnernamen in folders_of_smart.txt auf aber durch grep ^o auflisten Befehlen Sie, dass der Ordner mit dem Buchstaben o beginnt.

$ sudo ls /home/smart | tee folders_of_smart.txt | grep ^o
  output:
  output1.txt
  output2.txt
  output3.txt
  output.txt

Als weiteres Beispiel listen wir /etc auf Verzeichnisse und dann wird die Ausgabe in der Datei namens stage1.txt gespeichert , Diese Ausgabe wird durch den Befehl grep für die Zeilen gefiltert, die mit dem Buchstaben i beginnen. Diese gefilterte Ausgabe wird in der Datei stage2.txt gespeichert .

Schließlich wird die gefilterte Ausgabe mit sort -r rückwärts sortiert Befehl. Diese endgültige Ausgabe wird auf dem Terminal angezeigt.

$ ls /etc | tee stage1.txt | grep ^i | tee stage2.txt | sort -r
  output:
  issue.net
  issue
  iscsi
  iproute2
  inputrc
  initramfs-tools
  init.d
  init

5) Wie man Protokolldateien ansieht und in eine Datei schreibt

Wir können den HTTP2 analysieren Verkehr, der durch einen apache2 geht Server mit tee Befehl, Die Live-Protokolle können zur Standardausgabe gestreamt und auch zur späteren weiteren Analyse in eine Datei geschrieben werden.

$ sudo tail -f /var/log/apache2/access.log | grep --line-buffered "HTTP/2.0" | tee -a http2.log

6) Wie man mit tee in eine privilegierte Datei schreibt

Wenn wir in eine Datei schreiben wollen, die root gehört wie folder_of_root.txt verwenden wir sudo vor tee Befehl wie im Beispiel unten.

$ sudo echo 'Documents' | sudo tee -a folder_of_root.txt

Wir werden nach dem Root-Passwort gefragt, geben Sie das Root-Passwort ein und die Änderungen werden in folder_of_root.txt gespeichert .

7) Verwendung des tee-Befehls mit Python-Skript

Wir können tee verwenden Befehl mit Python-Skript, um die Ausgabe in einer Datei zu speichern und die Ausgabe auf dem Bildschirm anzuzeigen. Zuerst schreiben wir ein Python-Skript, um die Fläche des Kreises wie unten zu berechnen, und speichern es in area.py Datei.

    # -*- coding: utf-8 -*-
    """This script calculate the area of circle"""
    from math import pi as pi
    from math import ceil as ceil

    radius = 2.5

    area = pi * radius**2

    print('The area of circle is', ceil(area))

Wir werden den Wert von radius ändern und die Ausgabe an area.txt anhängen .

$ python area.py | tee -a area.txt
    Output
    ('The area of circle is for radius 2', 13.0)
    ('The area of circle is for radius 2.5', 20.0)
    ('The area of circle is for radius 3', 29.0)
    ('The area of circle is for radius 3.5', 39.0)

8) Verwendung des tee-Befehls mit Bash-Skript

Wir können tee verwenden Befehl mit Bash-Skript, um die Ausgabe in einer Datei zu speichern und die Ausgabe auf dem Bildschirm anzuzeigen. Zuerst schreiben wir ein Bash-Skript, um die Ausgabe dieses Befehls pwd anzuzeigen , ls und $HOME wie unten und speichern Sie es in bash.txt Datei.

    #!/bin/bash
    echo "`pwd`";
    echo "`ls`";
    echo "$HOME";
$ ./bash.txt | tee smart.txt
    Output
    /media/disk
    bash.txt
    flask.pdf
    smart.py
    smart.txt
    VirtualBox-5.2-5.2.14_123301_el6-1.x86_64.rpm
    /home/smart

Der tee-Befehl ist ein sehr erstaunliches Werkzeug, wir können die Standardeingabe lesen und sowohl in die Standardausgabe als auch in eine oder mehrere Dateien schreiben.

Lesen Sie auch:

  • Verwendung des Linux Tr-Befehls mit Beispielen

Linux
  1. wc Linux-Befehl mit Beispielen

  2. Linux Tee-Befehl mit Beispielen

  3. JQ-Befehl in Linux mit Beispielen

  4. dd-Befehlsbeispiele in Linux

  5. tee-Befehlsbeispiele in Linux

Linux-IP-Befehl mit Beispielen

15 Linux-PS-Befehl mit Beispielen

Linux-IP-Befehl mit Beispielen

Tee-Befehl in Linux mit Beispielen erklärt

Linux tee-Befehlsbeispiele

Linux tee-Befehl erklärt (mit Beispielen)