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_folderEl 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.txtEl 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.txtLa 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>&1Esto redirige stderr a dondequiera que vaya stdout, combinando todo en un solo archivo.
Desafío
FácilUsa el operador 2> para redirigir un mensaje de error a un archivo. Ejecuta estos dos comandos en orden:
- Intenta listar una carpeta llamada
missing_folderusandols, y redirige el mensaje de error a un archivo llamadoerrors.txt - Usa
catpara mostrar el contenido deerrors.txt
Pista: El formato es
ls foldername 2> filename. El mensaje de error va al archivo en lugar de aparecer en pantalla. Usacatpara 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.txtEl 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.txtPara enviar ambos flujos al mismo archivo, use 2>&1:
ls existing_folder nonexistent_folder > all_output.txt 2>&1Pruébalo tú mismo
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Directorios
Crear Un DirectorioCopiar Un DirectorioMover Y Renombrar Un DirectorioEliminar Un DirectorioResumen - Operaciones Con Directorios7Contenido de Archivos
Head y TailConteo de PalabrasComando SortComando UniqGrep BásicoGrep con FlagsResumen - Detective de Texto10Proyecto Analizador de Registros
Resumen del ProyectoVisualizando el Archivo de Registro2Navegación
Imprimir Directorio de TrabajoListar ArchivosCambiar de DirectorioRutas Absolutas vs RelativasDirectorio Home y RaízRepaso - Encuentra tu Camino8Redirección
Salida EstándarSobrescribir en un ArchivoAnexar a un ArchivoEntrada EstándarError EstándarResumen - Constructor de Registro11Permisos
Entendiendo PermisosLeyendo PermisosChmod con NúmerosChmod con SímbolosPropiedad de ArchivosResumen - Bloquéalo14Proyecto de Script de Copia de Seguridad
Visión General del ProyectoObteniendo la Ruta de Origen3Archivos
Crear un ArchivoLeer un ArchivoCopiar un ArchivoMover y Renombrar un ArchivoEliminar un ArchivoResumen - Operaciones con Archivos6Comodines y Patrones
El comodín asteriscoEl comodín interroganteComodines de corchetesCombinando comodinesRepaso - Operaciones selectivas9Tuberías
Qué es una tuberíaEncadenando dos comandosEncadenando múltiples comandosTubería con GrepResumen - Tubería de datos