Menu
Coddy logo textTech

Error Estándar

Parte de la sección Fundamentos del Journey de Terminal de Coddy — lección 41 de 82.

El tercer y último flujo de datos es error estándar, abreviado como stderr. Este flujo está específicamente para mensajes de error y advertencias, manteniéndolos separados de la salida normal.

Cuando un comando falla, el mensaje de error va a la salida de error estándar, no a la salida estándar:

ls nonexistent_folder

El mensaje de error que ves sale a través de stderr. Esta separación importa porque puedes redirigir los errores de forma independiente de la salida normal.

Para redirigir el error estándar, utilice 2> en lugar de >:

ls nonexistent_folder 2> errors.txt

El 2 se refiere al número de descriptor de archivo de stderr (stdout es 1, stderr es 2). Este comando captura el mensaje de error en errors.txt mientras mantiene tu terminal limpio.

Puedes redirigir ambos flujos a archivos diferentes:

ls existing_folder nonexistent_folder > output.txt 2> errors.txt

La salida exitosa va a output.txt, mientras que los errores van a errors.txt. Para enviar ambos flujos al mismo archivo, utilice 2>&1:

ls existing_folder nonexistent_folder > all_output.txt 2>&1

Esto redirige stderr a dondequiera que vaya stdout, combinando todo en un solo archivo.

challenge icon

Desafío

Fácil

Usa el operador 2> para redirigir un mensaje de error a un archivo. Ejecuta estos dos comandos en orden:

  1. Intenta listar una carpeta llamada missing_folder usando ls, y redirige el mensaje de error a un archivo llamado errors.txt
  2. Usa cat para mostrar el contenido de errors.txt

Pista: El formato es ls foldername 2> filename. El mensaje de error va al archivo en lugar de aparecer en pantalla. Usa cat para verificar que fue capturado.

Hoja de referencia

El flujo de error estándar (stderr) se utiliza para mensajes de error y advertencias, manteniéndolos separados de la salida normal.

Para redirigir el error estándar, use 2>:

ls nonexistent_folder 2> errors.txt

El 2 se refiere al número de descriptor de archivo de stderr (stdout es 1, stderr es 2).

Puede redirigir tanto stdout como stderr a archivos diferentes:

ls existing_folder nonexistent_folder > output.txt 2> errors.txt

Para enviar ambos flujos al mismo archivo, use 2>&1:

ls existing_folder nonexistent_folder > all_output.txt 2>&1

Pruébalo tú mismo

Terminal
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos