Linux le permite almacenar la salida del comando en archivos como un medio de redirección de salida. Cuando guarda la salida en un archivo usando el > o >> operadores, la salida se redirige sin que se muestre información en el terminal.
Pero, ¿qué sucede si desea imprimir la salida en la pantalla y almacenarla en un archivo simultáneamente? Aunque no puede hacerlo con los operadores de redirección de salida, es posible hacerlo usando el comando tee en Linux.
Sintaxis básica de comandos
tee es una utilidad estándar de Linux que se utiliza para dividir la salida de un comando entre la salida estándar y los archivos.
A diferencia de la mayoría de los comandos de Linux, tee se usa con otros programas usando una tubería (|). El operador de tuberías, uno de los muchos operadores de línea de comandos en Linux: permite que un programa use la salida de otro comando como su entrada. Es posible que haya usado tubería mientras usaba grep junto con
el comando ls o gatoLa sintaxis básica del comando tee es:
comando | ruta de archivo de opciones de tee
...dónde opciones y ruta de archivo son los argumentos de la línea de comandos y la ruta al archivo en el que desea almacenar la salida.
Salida de terminal dividida en Linux con T
El uso más simple de tee es dividir la salida para mostrarla en la terminal y almacenarla dentro de un archivo. Por ejemplo, para almacenar la salida del comando ls en un archivo de texto llamado "salida.txt," correr:
ls | tee ./salida.txt
La salida mostrará el contenido del directorio de trabajo actual como de costumbre. Al verificar el archivo output.txt, encontrará que tee también guardó la salida en el archivo.
Cuando especifica una ruta de archivo, tee comprueba si el archivo existe. Si no encuentra uno, crea automáticamente el archivo para usted, lo que lo hace conveniente para usar en scripts de shell. Es útil cuando desea registrar la salida de un programa o script para referencia posterior.
Tendrá que anteponer el comando tee con sudo para leer o almacenar datos en un archivo propiedad del usuario root.
Si el archivo especificado tiene datos almacenados en su interior que no desea sobrescribir, use el -a bandera a adjuntar la salida al archivo, en lugar de borrar todo el archivo y luego guardar los datos:
ls | tee -a ./salida.txt
De manera similar, puede redirigir la salida a varios archivos especificando las rutas, separadas por espacios simples:
ls | tee ./salida1.txt ./salida2.txt
A veces, errores inesperados o interrupciones manuales (usando Control + C o Control + Z) en el comando anterior puede hacer que te se cierre. Para ignorar tales interrupciones, utilice el -i bandera:
ls | tee -i salida.txt
A obtener ayuda de la línea de comandos con respecto a tee o encuentre los detalles de la versión, use el --ayuda y --versión banderas de la siguiente manera:
camiseta --ayuda
camiseta --versión
Redirigir la salida a otro comando
Puede crear una cadena de salida conectando te con otros comandos de Linux. Al hacerlo, se guardará la salida en el archivo especificado y luego se pasará al siguiente comando para su procesamiento.
Use el siguiente formato para redirigir la salida de tee a otro comando:
comando | ruta de archivo de tee | otro comando
Por ejemplo, el siguiente comando guardará la salida del comando ls en salida.txt antes de finalmente redirigirlo a grep para una búsqueda rápida:
ls | te salida.txt | grep "Documentos"
En general, puede usar el comando tee para jugar con la entrada y salida estándar en Linux.
Manipulación de salida y texto con comandos de Linux
El comando tee agrega una funcionalidad muy necesaria a los operadores de redirección de salida estándar en Linux. Incluso puede usarlo para manipular la salida de un comando antes de pasarlo a otro programa.
De manera similar, puede modificar el texto usando la terminal con la ayuda de algunos comandos estándar de Linux. Puede tomar algún tiempo acostumbrarse, pero al final, vale la pena aprender a manipular texto a través de la línea de comandos para cualquier administrador de sistemas.