A medida que continúas aprendiendo Linux, has visto cómo los comandos producen salida. Esto nos lleva al importante tema de las transmisiones de E/S (entrada/salida), específicamente la salida estándar o stdout. Exploremos este concepto ejecutando el siguiente comando:
echo Hola Mundo > cacahuetes.txt
Después de ejecutar esto, encontrarás un nuevo archivo llamado cacahuetes.txt en tu directorio actual. Si ves su contenido, verás el texto "Hola Mundo". Analicemos lo que sucedió.
Entendiendo la Salida Estándar (stdout)
Primero, considera el comando sin el carácter especial:
echo Hola Mundo
Por defecto, muchos comandos envían sus resultados a stdout, que es la pantalla de tu terminal. Por eso echo Hola Mundo muestra el texto directamente en tu shell. Los procesos utilizan transmisiones de E/S para recibir entrada (entrada estándar o stdin) y enviar salida. La redirección de E/S nos permite cambiar este comportamiento predeterminado, dándonos un mayor control sobre nuestros datos.
Redirección de stdout con >
El carácter > es un operador de redirección. Intercepta los datos que se dirigen a stdout y los envía a un nuevo destino.
>
En nuestro ejemplo, envía la salida de echo Hola Mundo a un archivo en lugar de a la pantalla. Si el archivo no existe, se creará. Ten cuidado, ya que si el archivo ya existe, este operador sobrescribirá completamente su contenido.
Anexar stdout con >>
¿Qué pasa si quieres añadir contenido a un archivo sin borrar su contenido? Para eso, usamos el operador >>.
echo Hola Mundo >> cacahuetes.txt
Este operador anexa la salida al final del archivo especificado. Si el archivo no existe previamente, se creará, al igual que el operador >.
Manejar la redirección de stdout es un paso fundamental en tu camino en Linux.