El comando tee lee la entrada estándar ( stdin) y la escribe tanto en la salida estándar ( stdout) como en uno o más archivos. Básicamente, es una «T» que divide el flujo de datos.

1. El uso básico

Si quieres ver el resultado de un comando en la terminal pero también quieres que se guarde en un archivo, haz esto:

ls -la | tee mis_archivos.txt

¿Qué pasó aquí?

  • ls -la lista todo.
  • El pipe | le pasa esa info al tee.
  • tee la imprime en tu pantalla y la guarda en mis_archivos.txt. ¡Magia! ✨

2. El modo «No borres lo que ya puse» (-a)

Por defecto, tee borra todo lo que haya en el archivo antes de escribir (como cuando borro mis mensajes después de que me contestan, jaja). Si quieres añadir información al final sin borrar lo anterior, usa el flag -a (de append).

echo "No quiero borrar lo que ya hay" | tee -a diario.txt

Ahora, «No quiero borrar lo que ya hay» se agregó al final de diario.txt. ¡Inteligente, ¿verdad? 😉

3. Escribir en varios archivos a la vez

¿Para qué hacer el trabajo una vez si puedes hacerlo en tres archivos al mismo tiempo? Solo pon los nombres separados por espacios:

echo "Ariadna es la reina" | tee archivo1.txt archivo2.txt archivo3.txt

¡Pum! El mensaje quedó guardado en los tres. Eficiencia total. 💅

4. El Truco maestro: sudo tee

A veces quieres escribir en un archivo que requiere permisos de administrador (como en /etc/), pero si haces sudo echo "algo" > /etc/archivo, ¡no funciona! Porque el redireccionamiento > lo hace tu usuario, no el sudo.

Ahí es donde entra el truco:

echo "dns-server 8.8.8.8" | sudo tee /etc/resolv.conf

Aquí, el sudo se aplica directamente al tee, así que puede escribir en archivos protegidos sin que Linux te diga que no tienes permiso. I love power. 😈

📝 Resumen para que no se te olvide:

Comando¿Qué hace?Vibe
tee archivoEscribe y muestraDirecta y clara
tee -a archivoAñade sin borrarConservadora
sudo tee archivoEscribe como rootThe Boss

Deja una respuesta