Androide

Comando tee de Linux con ejemplos

Pipes, Grep, Sort Commands: Linux Tutorial 9

Pipes, Grep, Sort Commands: Linux Tutorial 9

Tabla de contenido:

Anonim

El comando tee lee de la entrada estándar y escribe en la salida estándar y en uno o más archivos al mismo tiempo. tee se usa principalmente en combinación con otros comandos a través de tuberías.

En este tutorial, cubriremos los conceptos básicos del uso del comando tee .

Sintaxis del comando tee

La sintaxis para el comando tee es la siguiente:

tee

  • OPTIONS
    • -a ( --append ): no sobrescribe los archivos, sino que anexarlos a los archivos dados. -i (--no ignorar --ignore-interrupts ) - Ignora las señales de interrupción. Usa tee --help para ver todas las opciones disponibles.
    FILE_NAMES : uno o más archivos. Cada uno de los cuales se escriben los datos de salida.

Cómo usar el comando tee

El uso más básico del comando tee es mostrar la salida estándar ( stdout ) de un programa y escribirla en un archivo.

En el siguiente ejemplo, estamos utilizando el comando df para obtener información sobre la cantidad de espacio disponible en el disco en el sistema de archivos. La salida se canaliza al comando tee , que muestra la salida en el terminal y escribe la misma información en el archivo disk_usage.txt .

df -h | tee disk_usage.txt

Filesystem Size Used Avail Use% Mounted on dev 7.8G 0 7.8G 0% /dev run 7.9G 1.8M 7.9G 1% /run /dev/nvme0n1p3 212G 159G 43G 79% / tmpfs 7.9G 357M 7.5G 5% /dev/shm tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup tmpfs 7.9G 15M 7.9G 1% /tmp /dev/nvme0n1p1 511M 107M 405M 21% /boot /dev/sda1 459G 165G 271G 38% /data tmpfs 1.6G 16K 1.6G 1% /run/user/120

Puede ver el contenido del archivo disk_usage.txt utilizando el comando cat.

Escribir en múltiples archivos

El comando tee también puede escribir en múltiples archivos. Para hacerlo, especifique una lista de archivos separados por espacio como argumentos:

command | tee file1.out file2.out file3.out

Agregar al archivo

Por defecto, el comando tee sobrescribirá el archivo especificado. Use la opción -a ( --append ) para agregar la salida al archivo:

command | tee -a file.out

Ignorar interrupción

Para ignorar las interrupciones, use la ) option. This is useful when stopping the command during execution with `` -i ( –ignore-interrupts ) option. This is useful when stopping the command during execution with ) option. This is useful when stopping the command during execution with CTRL + C and want tee` salga con gracia.

command | tee -i file.out

Ocultar la salida

command | tee file.out >/dev/null

Usando tee en conjunción con sudo

Supongamos que desea escribir en un archivo propiedad de root como usuario de sudo. El siguiente comando fallará porque sudo no realiza la redirección de la salida. La redirección se ejecuta como el usuario sin privilegios.

sudo echo "newline" > /etc/file.conf

La salida se verá más o menos así:

bash: /etc/file.conf: Permission denied

Simplemente anteponga sudo antes del comando tee como se muestra a continuación:

echo "newline" | sudo tee -a /etc/file.conf

tee recibirá la salida del comando echo, elevará a los permisos sudo y escribirá en el archivo.

El uso de tee junto con sudo permite escribir en archivos propiedad de otros usuarios.

Conclusión

El comando tee lee de la entrada estándar y lo escribe en la salida estándar y en uno o más archivos.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.

terminal de tee