Cómo usar el comando tee en Linux

Puntos clave
- El comando "tee" en Linux guarda el resultado de un comando en un archivo y también lo muestra en la terminal.
- También puede escribir resultados en varios archivos a la vez, lo que permite realizar copias de seguridad y monitorear fácilmente los registros del sistema.
- El comando "te" también se puede utilizar con otros comandos de tuberías. Esto permite un mayor procesamiento de la salida al guardarla en un archivo. Por ejemplo, podrías usarlo con "ls" en este comando: "ls ~ | tee list.txt"
EL tee
El comando puede guardar el resultado del comando para revisarlo más adelante. Este comando no solo muestra el resultado en la pantalla sino que también lo registra en un archivo de registro separado. Digamos que desea guardar la salida del archivo. df
comando en un archivo para que pueda realizar un seguimiento del uso del espacio en disco a lo largo del tiempo. Este comando le ayuda a solucionar problemas de un proceso manteniendo un registro escrito de los procesos.
¿Qué es el comando tee en Linux?
linux tee
El comando es una herramienta útil para ahorrar tiempo y mejorar la eficiencia en Linux. Puede leer la entrada estándar (stdin
) y escríbalo en ambas salidas estándar (stdout
) y el archivo o archivos especificados. EL tee
el control funciona como un tubo en forma de T que divide el agua en dos direcciones. Le permite ver el resultado de un programa y guardarlo en un archivo al mismo tiempo.
EL tee
el comando hace ambas cosas juntas. Le permite copiar la salida a los archivos o variables que elija y mostrársela. Este comando también se utiliza en scripts de shell y comandos de terminal para enviar resultados a diferentes ubicaciones. Puedes usar el tee
comando para realizar copias de seguridad, encontrar errores en scripts y realizar un seguimiento de los registros del sistema.
EL tee
El comando también le permite vincularlo con otros comandos. De esta manera, puede guardar el resultado en un archivo y procesarlo aún más con cualquier otro comando.
Casi todas las distribuciones de Linux vienen con tee
Comando preinstalado, que forma parte del paquete Coreutils.
EL tee
El comando sigue una sintaxis similar a la de otros comandos de Linux. Tiene dos argumentos, --OPCIONES y ARCHIVOS:
tee (OPTION)... (FILE)...
Para saber qué versión del tee
comando que está utilizando, simplemente ejecute el siguiente comando:
tee --version
Si necesita ayuda con la sintaxis y los argumentos disponibles para el archivo tee
comando, escriba esto:
tee --help
tee Opciones de comando
EL tee
El comando tiene varias opciones para cambiar su funcionalidad. La siguiente tabla muestra algunas opciones que le ayudarán a utilizar el tee
ordenar eficientemente:
|
Agregue resultados al final de los archivos en lugar de sobrescribirlos. |
|
Ignore las señales de interrupción como Ctrl+C. |
|
Imprime un mensaje de error estándar por cada error que ocurre al escribir en un archivo. |
|
Muestra ayuda básica sobre las opciones de comando. |
|
Ver el |
Guarde el resultado en un archivo en Linux usando tee
EL tee
El comando guarda la salida de un comando en un archivo y también lo muestra en la terminal. Por ejemplo, el tee
El comando le permitirá ver los archivos y directorios en su directorio de inicio y también guardarlos en un archivo separado. Para hacer esto, conecte el tee
comando con ls
comando de la siguiente manera:
ls ~ | tee list.txt
Esto mostrará todos los archivos y directorios en su directorio de inicio y los escribirá en "list.txt". Para ver el contenido de "list.txt", utilice cualquier editor de texto o comando similar cat
, less
O more
dominio.
cat list.txt
Tomemos otro ejemplo con un echo
comando para guardar y ver el resultado. Primero, use el echo
comando para imprimir texto en la terminal. Después de eso, canalice el tee
comando con el echo
comando para escribir el mismo texto en un archivo llamado "output.txt".
echo "Welcome to Ubuntu" | tee output.txt
Finalmente, utiliza el cat
comando para verificar el contenido del archivo "output.txt".
cat output.txt
Escriba la salida en varios archivos en Linux usando tee
EL tee
el comando también puede escribir la salida en varios archivos a la vez. Solo necesita definir los nombres de los archivos después del archivo. tee
comando en el que desea escribir. Simplemente sepárelos con espacios.
Por ejemplo, para guardar el resultado del archivo echo
comando en tres archivos diferentes, use la siguiente sintaxis:
echo "Welcome to Ubuntu" | tee file1.txt file2.txt file3.txt
Esto escribirá la cadena "Bienvenido a Ubuntu" en tres archivos: archivo1.txt, archivo2.txt y archivo3.txt. También los muestra en el terminal. Para ver el contenido de estos archivos, utilice el cat
O head
dominio:
head -v file1.txt file2.txt file3.txt
Asimismo, el cat
el comando también mostrará el resultado idéntico:
cat -v file1.txt file2.txt file3.txt
Puede escribir resultados en cualquier número de archivos con el comando tee
dominio. Simplemente escriba los nombres de los archivos a continuación. tee
comando con espacios entre ellos.
Agregar la salida a un archivo usando tee
EL tee
El comando en Linux sobrescribe el contenido del archivo de forma predeterminada. EL -a
O --append
opción con el tee
El comando le permite agregar resultados al final de los archivos en lugar de reemplazar su contenido.
Antes de agregar datos al archivo, verifiquemos los datos presentes en el archivo usando el siguiente comando:
cat output.txt
Ahora podemos agregar los nuevos datos sin sobrescribirlos escribiendo esto:
echo "tee Command on Linux" | tee -a output.txt
Esto agregará la salida de un comando al final de output.txt, sin eliminar ningún contenido anterior. Para verificar, ejecute el archivo. cat
dominio:
cat output.txt
Ocultar la salida usando tee
A veces, es posible que desees almacenar el resultado de un comando en un archivo sin mostrarlo en la terminal. Esto puede resultar útil si desea ejecutar un comando de forma silenciosa, sin saturar su terminal con resultados innecesarios. En estos casos, debe dirigir la salida del comando al archivo /dev/null
dispositivo. EL /dev/null
a menudo se lo denomina "dispositivo nulo" o "archivo nulo". Funciona como un receptor de datos, lo que significa que cualquier dato escrito en él se descarta y en realidad no se almacena en ningún lugar.
Aquí hay una manera de ocultar la salida del archivo. echo
dominio:
echo "Welcome to Ubuntu" | tee output.txt > /dev/null
Esto escribirá la salida de un comando en output.txt y también lo enviará a /dev/null
, que en realidad lo ocultará de la pantalla. sin embargo, el cat
el comando le permitirá verificar el resultado viendo el contenido del archivo:
cat output.txt
Redirigir la salida de un comando a otro usando tee
EL tee
El comando también puede redirigir la salida de un comando a un archivo o cualquier otro comando. EL tee
El comando con una barra vertical (|) le permitirá enviar la salida del primer comando tanto a la salida estándar como al segundo comando o archivo. Considere el siguiente ejemplo:
echo "This is Ubuntu" | tee output.txt | wc -c
EL echo
la salida del comando "Bienvenido a Ubuntu" se escribe en el archivo salida.txt. A continuación, se utiliza el operador de tubería con el archivo tee
dominio. Esto pasará el contenido del archivo al archivo. wc
dominio. EL wc
el comando devolverá el total de caracteres contados y mostrará un valor entero.
Para comprobar si el tee
el comando también escribió la salida en un archivo, use el archivo cat
comando para mostrar el contenido del archivo:
cat output.txt
Usando el comando tee con sudo
Cuando usas el tee
comando, escribe la salida de un comando en un archivo normal. Sin embargo, algunos archivos y directorios, como los directorios del sistema o los archivos protegidos, requieren privilegios de superusuario para modificarse. Para escribir en estos archivos o archivos propiedad de otros usuarios, utilice tee
con sudo
.
En el siguiente ejemplo, al intentar escribir un archivo "file.conf" propiedad de root sin usar sudo
Se le devolverá un error de permiso denegado.
echo "This is Ubuntu" | tee -a /etc/file.conf
Sin embargo, cuando utilizas el sudo
con el tee
comando, esto se ejecutará sin ningún error. Puedes usar el sudo
comando para ejecutar el tee
comando como usuario root o propietario del archivo. solo prefijo sudo
con el tee
dominio:
echo "This is Ubuntu" | sudo tee -a /etc/file.conf
Primero el tee
el comando tomará el archivo echo
salida del comando. Posteriormente se eleva a sudo
permisos y escribe el texto en el archivo.
Ejemplos de uso de tee en un script Bash
EL tee
El comando puede resultar útil en varios escenarios de secuencias de comandos. Le ayuda a grabar o capturar el resultado de un comando para su posterior procesamiento o depuración. EL tee
El comando no solo mostrará el resultado sino que también lo guardará en uno o más archivos para su uso posterior.
Por ejemplo, si desea ver la fecha y la hora en la terminal y también escribirlas en un archivo llamado log.txt, use el siguiente script bash:
#!/bin/bash
date | tee log.txt
En este caso, la entrada estándar es la salida del comando de fecha, que muestra la fecha y hora actuales. EL tee
El comando escribe esta salida en la terminal y en el archivo log.txt. Si el archivo log.txt no existe, se creará. Si existe, se sobrescribirá, a menos que utilice el archivo -a
opción para agregar al archivo.
cat log.txt
También puedes utilizar el tee
comando para escribir en varios archivos especificando varios nombres de archivos como argumentos.
#!/bin/bash
date | tee log1.txt log2.txt
Este script imprime la fecha y la hora en el terminal y en dos archivos denominados log1.txt y log2.txt. Lea el contenido de ambos archivos usando cat
dominio.
cat log1.txt log2.txt
Consideremos otro script bash simple que toma información y la almacena en un archivo de registro, usando el archivo tee
dominio.
#!/bin/bash
log_file="user_input.log"
echo "Please enter some text:"
read user_input
echo "$user_input" | tee -a "$log_file"
echo "User input has been logged to $log_file"
En el script bash proporcionado, defina una variable llamada "log_file" y asígnele el nombre del archivo de registro que desea utilizar, por ejemplo "user_input.log". Luego, utiliza el echo
comando y el read
comando para solicitar insertar texto y almacenarlo en una variable. A continuación, utilice el tee
comando con el -a
opción para mostrar la entrada en el terminal y agregarla al archivo de registro.
Finalmente, utiliza el echo
comando nuevamente para proporcionar retroalimentación. Esto le indicará que su entrada se ha registrado en el archivo. Hacerlo le permite crear un script bash que guarda su entrada en un archivo de registro y la muestra en la pantalla.
Ejecute el script bash usando bash
dominio.
bash test.sh
Monitoreo de procesos en su sistema Linux
Para controlar el funcionamiento de su sistema Linux, debe observar las actividades de sus procesos. Esto incluye el uso de CPU y memoria, E/S de disco y actividad de red. La identificación de cuellos de botella en el rendimiento ayuda a optimizar los recursos del sistema y garantiza que el sistema funcione de manera eficiente.
como el tee
comando, Linux tiene muchos otros comandos que le ayudan a monitorear procesos fácilmente. Algunos de los comandos principales incluyen ps
, top
Y pgrep
dominio. Los sistemas Linux suelen ejecutar varios procesos al mismo tiempo. Con estos comandos puede priorizar tareas críticas, asignar recursos de manera adecuada y evitar conflictos de recursos.