Redirección de entrada y salida (>, >>, <)
Domine la redirección de la salida de comandos a archivos y el uso de archivos como entrada para comandos, mejorando la flexibilidad de los scripts.
Redirección de entrada y salida (>, >>, <) es una lección gratuita de Linux Command Line & Bash Scripting Mastery en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Linux Command Line & Bash Scripting Mastery, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Linux Command Line & Bash Scripting Mastery incluye 4 lecciones en total.
¿Qué es la redirección de E/S?
En Linux, los comandos suelen producir una salida o requerir una entrada. La redirección de entrada/salida (E/S) permite cambiar de dónde obtiene un comando su entrada o adónde envía su salida.
En lugar de limitarse a mostrar la salida en la pantalla (la terminal), puede guardarla en un archivo o incluso proporcionar directamente el contenido de un archivo a otro comando.
Comprender los flujos estándar
Cada comando de Linux interactúa con tres flujos de datos «estándar»:
- Entrada estándar (STDIN): Lugar del que un comando espera recibir la entrada (normalmente, el teclado).
- Salida estándar (STDOUT): Lugar al que un comando envía su salida normal (normalmente, la pantalla).
- Error estándar (STDERR): Lugar al que un comando envía los mensajes de error (también suele ser la pantalla).
La redirección permite cambiar estos destinos u orígenes predeterminados.
Capturar la salida con '>'
El operador > se utiliza para redirigir la salida estándar (STDOUT) de un comando a un archivo. En lugar de imprimirse en la pantalla, la salida del comando se escribirá en el archivo especificado.
Importante: Si el archivo ya existe, > sobrescribirá todo su contenido con la nueva salida. ¡Tenga cuidado de no eliminar datos importantes accidentalmente!
Ejemplo: guardar la salida de un comando
Vamos a guardar la salida del comando ls -l en un archivo llamado my_files.txt. Después, veremos el contenido del archivo mediante cat.
ls -l > my_files.txt
cat my_files.txtAñadir contenido a un archivo con '>>'
A veces no desea sobrescribir un archivo, sino añadir contenido nuevo al final. ¡Ahí es donde entra en juego el operador >>!
>> redirige la salida estándar (STDOUT) a un archivo, pero si el archivo ya existe, añade la nueva salida al final, conservando el contenido existente.
Ejemplo: añadir contenido a un registro
Primero, cree un archivo sencillo. Después, utilice >> para añadirle otra línea. Observe que se conserva el contenido original.
echo "First line of log." > app_log.txt
echo "Second line added." >> app_log.txt
cat app_log.txtGestionar errores con '2>'
¿Qué ocurre con los mensajes de error? Se envían al error estándar (STDERR). Para redirigir STDERR a un archivo, utilizamos el descriptor de archivo 2 seguido del operador >: 2>.
Esto resulta extremadamente útil para registrar errores sin saturar la salida principal o para depurar scripts.
Ejemplo: registrar mensajes de error
Vamos a intentar listar un directorio que no existe. Normalmente, el mensaje de error aparecerá en la pantalla. En su lugar, lo redirigiremos a errors.log.
ls /this/path/does/not/exist 2> errors.log
echo "Command finished. Check errors.log."
cat errors.logProporcionar entrada con '<'
El operador < se utiliza para redirigir la entrada estándar (STDIN). En lugar de esperar a que escriba la entrada mediante el teclado, el comando leerá la entrada directamente del archivo especificado.
Esto resulta muy útil para automatizar tareas en las que un comando espera una gran cantidad de datos de entrada o cuando desea procesar directamente el contenido de un archivo.
Ejemplo: ordenar desde un archivo
Crearemos un archivo con nombres sin ordenar y, después, utilizaremos el comando sort para leer su entrada desde ese archivo mediante <.
echo -e "Charlie\nAlice\nBob" > names.txt
sort < names.txtComprobación rápida: redirección
Ha aprendido a redirigir la salida estándar, añadir contenido a la salida, gestionar errores y proporcionar entradas desde archivos. Vamos a comprobar lo que ha aprendido.
Repaso: el poder de la redirección de E/S
¡Buen trabajo! Ha aprendido los fundamentos de la redirección de E/S en Linux.
>redirige STDOUT y sobrescribe los archivos.>>redirige STDOUT y añade contenido a los archivos.2>redirige STDERR y captura los mensajes de error.<redirige STDIN y permite que los comandos lean desde archivos.
Estos operadores son increíblemente útiles para crear scripts, registrar información y automatizar tareas. ¡Siga practicando!
Preguntas frecuentes
¿La lección «Redirección de entrada y salida (>, >>, <)» es gratis?
Sí — el texto completo de «Redirección de entrada y salida (>, >>, <)» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Linux Command Line & Bash Scripting Mastery, actualiza a CoddyKit PRO. El curso de Linux Command Line & Bash Scripting Mastery incluye 4 lecciones en total.
¿Qué aprenderé en «Redirección de entrada y salida (>, >>, <)»?
Domine la redirección de la salida de comandos a archivos y el uso de archivos como entrada para comandos, mejorando la flexibilidad de los scripts. Practicas Linux Command Line & Bash Scripting Mastery con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Linux Command Line & Bash Scripting Mastery?
No se requiere experiencia previa. Linux Command Line & Bash Scripting Mastery en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Redirección de entrada y salida (>, >>, <)»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Linux Command Line & Bash Scripting Mastery?
Sí. Cada lección de Linux Command Line & Bash Scripting Mastery incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Gestión de procesos (ps, top, kill)
- Redirección de entrada y salida (>, >>, <)
- Tuberías de comandos (|)
- Tareas en segundo plano y control de trabajos