GNU/Linux >> Tutoriales Linux >  >> Linux

8 Comando Tee de Linux con ejemplos

El comando tee de Linux se usa para encadenar y redirigir tareas, puede redirigir la salida y/o los errores a un archivo y no se mostrará en la terminal. De manera similar, al usar el encadenamiento, la salida de un comando se puede dar como entrada para el segundo comando y luego para el tercer comando y así sucesivamente, pero una vez que redirige la salida a un archivo, no puede encadenarlo con otros comandos.

Linux tee se puede usar para lograr ambos resultados juntos, es decir, almacenar el resultado en un archivo mientras se encadena el mismo resultado a otro comando.

En este tutorial, discutiremos cómo usar Linux tee con algunos ejemplos.

Sintaxis del comando Tee

El comando tee básicamente lee desde la entrada estándar y escribe en la salida y los archivos estándar. La siguiente es la sintaxis del comando:

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

Los siguientes ejemplos deberían darnos una mejor idea de cómo funciona el comando.

1) Cómo escribir en la salida estándar y en un archivo

Para escribir en la salida estándar y en un archivo, use una T después de una tubería y especifique el archivo.

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

Ahora podemos ir a folders_of_smart.txt y vea el contenido del archivo escribiendo el siguiente comando.

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

2) Cómo escribir en un archivo y agregar la salida

Para agregar la salida al archivo existente, usaremos -a opción.

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

Ahora podemos ir a folders_of_smart.txt y vea el contenido del archivo escribiendo el siguiente comando.

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

3) Cómo escribir en varios archivos

Para escribir en varios archivos, solo tenemos que mencionar sus nombres en la línea de comando.

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

Ahora podemos ir a output1.txt , output2.txt y vea el contenido del archivo escribiendo el siguiente comando.

$ 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) Cómo redirigir la salida de un comando a otro

También podemos pasar la salida como entrada a otros comandos. Por ejemplo, el siguiente comando no enumerará todos los nombres de las carpetas en folders_of_smart.txt pero lista a través de grep ^o ordene que la carpeta comience con la letra o.

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

Otro ejemplo, listaremos /etc directorios y luego la salida se almacena en el archivo llamado stage1.txt , Esta salida se filtra a través del comando grep para las líneas que comienzan con la letra i. Esta salida filtrada se almacena en el archivo stage2.txt .

Finalmente, la salida filtrada se ordena inversamente usando sort -r dominio. Esta salida final se muestra en el terminal.

$ 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) Cómo ver archivos de registro y escribir en un archivo

Podemos analizar el HTTP2 tráfico que pasa por un apache2 servidor usando tee Comando, los registros en vivo se pueden transmitir a la salida estándar y también escribir en un archivo para su posterior análisis.

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

6) Cómo escribir en un archivo privilegiado usando tee

Cuando queremos escribir en un archivo propiedad de root como folder_of_root.txt , usaremos sudo antes del tee comando como el siguiente ejemplo.

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

Nos pedirá la contraseña de root, ingrese la contraseña de root y los cambios se guardarán en folder_of_root.txt .

7) Cómo usar el comando tee con Python Script

Podemos usar tee comando con secuencia de comandos de python para almacenar la salida en un archivo y mostrar la salida en la pantalla. Primero, escribiremos una secuencia de comandos de python para calcular el área del círculo como se muestra a continuación y guardarlo en area.py archivo.

    # -*- 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))

Cambiaremos el valor del radio y agregaremos la salida a area.txt .

$ 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) Cómo usar el comando tee con Bash Script

Podemos usar tee Comando con bash script para almacenar la salida en un archivo y mostrar la salida en la pantalla. Primero, escribiremos bash script para mostrar la salida de estos comandos pwd , ls y $HOME como se muestra a continuación y guárdelo en bash.txt archivo.

    #!/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

El comando tee es una herramienta muy asombrosa, podemos leer la entrada estándar y escribirla tanto en la salida estándar como en uno o más archivos.

Leer también:

  • Cómo usar el comando Tr de Linux con ejemplos

Linux
  1. Comando wc Linux con ejemplos

  2. Comando Linux Tee con ejemplos

  3. Comando JQ en Linux con ejemplos

  4. Ejemplos de comandos dd en Linux

  5. Ejemplos de comandos tee en Linux

Comando ip de Linux con ejemplos

15 comandos ps de Linux con ejemplos

Comando IP de Linux con ejemplos

Comando Tee en Linux explicado con ejemplos

Ejemplos de comandos tee de Linux

Explicación del comando tee de Linux (con ejemplos)