Saltar al contenido principal
eLearner.app
Módulo 3 · Lección 1 de 26/11 en el curso~15 min
Lecciones del módulo (1/2)

Salida y redirecciones (echo, cat, >)

En Linux, casi todos los comandos leen datos de un canal de entrada y escriben los resultados en un canal de salida. Estos canales se denominan flujos estándar (streams):

  • Standard Input (stdin): El canal del cual el comando lee la entrada (por defecto, el teclado).
  • Standard Output (stdout): El canal en el cual el comando escribe la salida de éxito (por defecto, la pantalla de la terminal).
  • Standard Error (stderr): El canal en el cual el comando escribe los mensajes de error (por defecto, la pantalla).

Gracias a la línea de comandos, podemos desviar estos flujos para guardar los resultados dentro de archivos.


Imprimir texto: echo

El comando echo simplemente escribe los parámetros que le pasas en su salida estándar (la pantalla):

Bash
echo "Ciao a tutti"

Redireccionar la salida (Sobrescribir): >

Si quieres guardar la salida de un comando en un archivo en lugar de verla en la pantalla, puedes usar el operador de redirección mayor >:

Bash
echo "Ciao a tutti" > saluti.txt

Este comando ejecuta echo y redirecciona su salida al archivo saluti.txt.

[!IMPORTANT] Si el archivo saluti.txt no existe, se crea. Si ya existe, su contenido se borra por completo y se sobrescribe con la nueva salida.


Leer el contenido: cat

Para visualizar rápidamente el contenido de uno o más archivos de texto, se utiliza el comando cat (abreviatura de concatenate):

Bash
cat saluti.txt

Añadir salida (Adjuntar/Agregar): >>

Si en lugar de sobrescribir un archivo quieres añadir nuevas líneas al final del contenido existente, debes utilizar el operador de inserción >>:

Bash
echo "Nuova riga di testo" >> saluti.txt

Ahora, al leer el archivo con cat saluti.txt, verás tanto la primera como la segunda línea.


Ejemplos de uso y errores comunes

Puedes pasarle a cat varios archivos al mismo tiempo para visualizarlos en secuencia (concatenados):

Bash
cat notes.txt info.txt
# Output:
# Keep learning Linux!
# Linux is awesome.

Puedes redireccionar la salida combinada a un tercer archivo usando el operador >:

Bash
cat notes.txt info.txt > combined.txt

Si intentas leer un archivo que no existe, cat escribirá un mensaje de error:

Bash
cat file_inesistente.txt
# Output:
# cat: file_inesistente.txt: No such file or directory

Pruébalo tú

Ejercicio 1: Crea un file con un saluto

Ejercicio#linux.m3.l1.e1
Intentos: 0Cargando...

Crea un archivo llamado 'hello.txt' que contenga exactamente el texto 'Hello World' usando el comando echo y el operador >.

Cargando editor...
Mostrar pista

Usa echo seguido de la cadena entre comillas, el operador > y hello.txt.

Solución disponible después de 3 intentos

Ejercicio 2: Aggiungi note ad un file

Ejercicio#linux.m3.l1.e2
Intentos: 0Cargando...

Añade la línea 'Linux is fun' al final del archivo existente 'notes.txt' sin borrar su contenido actual.

Cargando editor...
Mostrar pista

Usa el operador >> para añadir texto al archivo notes.txt.

Solución disponible después de 3 intentos

Ejercicio 3: Concatena file

Ejercicio#linux.m3.l1.e3
Intentos: 0Cargando...

Concatena el contenido de los archivos 'notes.txt' e 'info.txt' y guarda el resultado combinado en un nuevo archivo llamado 'combined.txt'.

Cargando editor...
Mostrar pista

Usa cat seguido de los nombres de los dos archivos de origen y redirecciona la salida con > al archivo de destino.

Solución disponible después de 3 intentos