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):
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 >:
echo "Ciao a tutti" > saluti.txtEste comando ejecuta echo y redirecciona su salida al archivo saluti.txt.
[!IMPORTANT] Si el archivo
saluti.txtno 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):
cat saluti.txtAñ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 >>:
echo "Nuova riga di testo" >> saluti.txtAhora, 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):
cat notes.txt info.txt
# Output:
# Keep learning Linux!
# Linux is awesome.Puedes redireccionar la salida combinada a un tercer archivo usando el operador >:
cat notes.txt info.txt > combined.txtSi intentas leer un archivo que no existe, cat escribirá un mensaje de error:
cat file_inesistente.txt
# Output:
# cat: file_inesistente.txt: No such file or directoryPruébalo tú
Ejercicio 1: Crea un file con un saluto
Crea un archivo llamado 'hello.txt' que contenga exactamente el texto 'Hello World' usando el comando echo y el operador >.
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
Añade la línea 'Linux is fun' al final del archivo existente 'notes.txt' sin borrar su contenido actual.
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
Concatena el contenido de los archivos 'notes.txt' e 'info.txt' y guarda el resultado combinado en un nuevo archivo llamado 'combined.txt'.
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