Sistemas · SYS-Q-102 · Quiz razonado · E0
Distinguir intérprete, argumentos y flujos
Recibes fragmentos breves de una sesión de shell. Debes identificar quién interpreta cada parte y predecir argumentos, flujos y estado sin ejecutarlos primero.
Contenido de la actividad
E0 · Sin sistema objetivo. Clasificación y justificación sobre un expediente Markdown.
Capacidad
Leer una línea de shell como una composición de contratos y justificar su comportamiento con documentación exacta.
Enunciado
Resuelve los casos del expediente: clasifica las piezas, escribe los argumentos finales, sigue stdin/stdout/stderr y explica qué estado puede observar la shell.
Estado inicial
- La Unidad 1.2 está estudiada, pero debe permanecer cerrada durante la primera clasificación.
- El expediente contiene líneas aisladas; ninguna debe ejecutarse para obtener la primera respuesta.
- No hay una shell remota, credenciales ni sistema que modificar.
Límites del sandbox
- No ejecutes fragmentos cuya expansión o destino no hayas explicado antes.
- No añadas sudo ni sustituyas rutas por ubicaciones reales del sistema.
- Si verificas un caso después, usa nombres ficticios y un directorio temporal.
- Registra la shell y la documentación consultada; no generalices una extensión de Bash a todas las shells.
Fases de trabajo
1. Clasificar sin consulta
Recuperar el modelo antes de apoyarse en la documentación.
- Distingue terminal, shell, builtin, programa externo, argumento y opción en cada fragmento.
- Señala qué operadores interpreta la shell antes de iniciar un programa.
- Marca las respuestas inciertas sin adivinar una regla.
2. Predecir palabras y flujos
Hacer explícito lo que recibe cada proceso.
- Enumera los argumentos finales después de comillas y expansiones.
- Dibuja el origen y destino de los descriptores 0, 1 y 2.
- Indica qué estado quedaría disponible en `$?` y qué información falta para interpretarlo.
3. Comprobar contratos
Sustituir memoria imprecisa por documentación localizada.
- Usa `type` o `command -V` para decidir qué documentación correspondería al nombre.
- Localiza con `help`, `--help`, `man` o `apropos` la regla exacta de un caso dudoso.
- Corrige la respuesta inicial y conserva tanto la predicción como la corrección.
Evidencia que debes conservar
- Expediente con una respuesta justificada para cada caso.
- Dos diagramas mínimos de stdin, stdout y stderr.
- Tabla de argumentos finales para los casos con quoting o expansión.
- Referencia exacta y corrección posterior de al menos una respuesta.
Criterios de aceptación
- Terminal y shell se distinguen por responsabilidad, no por apariencia.
- Cada argumento se enumera después de aplicar quoting y expansión.
- stdout y stderr se siguen por separado y no se deducen solo por el texto visible.
- El estado de un pipeline se interpreta según la semántica declarada, incluida la presencia o ausencia de pipefail.
- La justificación cita la documentación del comando o builtin adecuado.
- Las respuestas explican por qué se descartan las alternativas, no solo marcan una opción.
Decisiones abiertas
- Representar los flujos con texto, tabla o diagrama.
- Elegir qué caso dudoso comprobar primero según su capacidad de separar reglas.
- Usar Bash local u otra shell para la verificación, siempre que se declare.
Materiales
- Expediente SYS-Q-102Casos sin resolver y plantilla para clasificación, predicción, documentación y corrección.
Se guarda solo en este navegador. Puedes descargarlo para enviarlo a Codex junto con los materiales que hayas completado.
Sin borrador guardado.
Revisión y reinicio
Revisión: Codex debe comparar la evidencia con estos criterios, señalar primero el supuesto no demostrado y proponer una sola comprobación siguiente. No hay una solución oficial publicada.
Reinicio: Borrar el borrador local o descargar una copia nueva del expediente; no existe estado externo.
Pistas graduadas
Pista 1 · Separa dos intérpretes
- La shell reconoce operadores y forma argumentos.
- El comando interpreta después cuáles de esos argumentos son opciones.
Pista 2 · Dibuja descriptores
- El pipe conecta stdout con stdin por defecto.
- Una redirección puede cambiar solo uno de los tres flujos.
Pista 3 · Pregunta a la shell
- `type` puede distinguir builtin, alias, función y archivo ejecutable.
- La documentación de un builtin no tiene por qué estar en la misma página que un programa homónimo.