Los comandos no solo producen resultados o errores en pantalla: también puedes enviar su salida a archivos, leer datos desde archivos o encadenar comandos.
Esto se logra mediante las redirecciones en Linux, que aprovechan los descriptores de archivo: stdin (0), stdout (1) y stderr (2).
👉 Y recuerda, si quieres aprender más de Linux, pincha en este curso de Linux gratis
👉 También te dejo por aquí una guía las entradas y salidas de Linux
Tipos de redirecciones
| Símbolo | Función | Ejemplo |
|---|---|---|
| > | Redirige la salida estándar y sobrescribe el archivo. | echo «Hola» > archivo.txt |
| >> | Redirige la salida estándar y añade al archivo (sin sobrescribir). | echo «Hola» >> archivo.txt |
| < | Redirige un archivo como entrada estándar. | cat < archivo.txt |
| 2> | Redirige el error estándar y sobrescribe el archivo. | ls archivo_no_existente 2> errores.log |
| 2>> | Redirige el error estándar y añade al archivo. | ls archivo_no_existente 2>> errores.log |
| &> | Redirige tanto la salida estándar como los errores. | comando &> archivo.log |
| /dev/null | Descartar salida o errores (equivalente a «tirar a la basura»). | comando > /dev/null |
Ejemplos prácticos
Redirigir salida estándar a un archivo
echo "Hola, mundo" > mensaje.txtEsto crea (o sobrescribe) el archivo mensaje.txt con el texto «Hola, mundo».
Añadir salida a un archivo
echo "Nueva línea" >> mensaje.txtEsto añade "Nueva línea" al final de mensaje.txt sin sobrescribir el contenido existente.
Redirigir error estándar a un archivo
Si ejecutas un comando que genera un error:
ls archivo_inexistente 2> error.logEsto guarda el mensaje de error en error.log.
Redirigir salida y errores al mismo archivo
ls archivo_inexistente archivo_existente &> todo.logGuarda tanto la salida como los errores en todo.log.
Ignorar la salida estándar
echo "Nueva línea" >> mensaje.txtIgnorar los errores
ls archivo_inexistente 2> /dev/nullIgnorar todo (salida y errores)
comando &> /dev/nullDividir salida y errores en diferentes archivos
Guardar la salida estándar y los errores por separado:
comando > salida.log 2> errores.logRedirección especial: /dev/null
El archivo /dev/null es un «agujero negro». Todo lo que se redirige a este archivo desaparece.
#Ignorar errores
ls archivo_inexistente 2> /dev/null
#Ignorar toda la salida
comando &> /dev/nullLas redirecciones en Linux son herramientas poderosas que permiten:
- Guardar resultados en archivos
- Capturar errores
- Alimentar comandos con datos desde archivos
- Automatizar tareas complejas
Si entiendes las redirecciones en Linux, estarás listo para encadenar comandos, crear scripts y controlar completamente la entrada y salida de tus programas.
