Necesitas ejecutar órdenes y reconocer argumentos. No se requiere experiencia previa con procesos.
Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.
Ubícate antes de avanzar
Al terminar deberías poder relacionar Descriptores y redirecciones con Tuberías y resolver un caso nuevo.
Reserva entre 35 y 55 minutos para lectura, ejemplos, tres comprobaciones y cierre.
Prepara una máquina virtual Linux con red NAT e instantáneas, o WSL para las prácticas que no requieren kernel y systemd completos.
Abrir la guía de herramientas →Diagnóstico rápido: ¿cómo se relacionan Descriptores y redirecciones y Tuberías? +
No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.
Aprende el tema paso a paso
Combinarás entrada, salida, tuberías y control de trabajos, comprendiendo qué conecta la shell y cómo conservar errores para diagnosticar.
- stdin, stdout y stderr tienen destinos independientes
- Una tubería conecta procesos, no textos mágicos
- Segundo plano no significa proceso independiente
stdin, stdout y stderr tienen destinos independientes
Cada proceso comienza normalmente con los descriptores 0, 1 y 2. La shell puede conectar entrada y salidas a terminales, archivos o tuberías. > reemplaza un archivo; >> añade; 2> redirige errores. El orden de 2>&1 importa porque duplica el destino vigente de stdout.
stdout transporta datos o resultados.
stderr conserva diagnósticos separados.
Una redirección la prepara la shell antes de iniciar la orden.
¿Qué diferencia hay entre >todo 2>&1 y 2>&1 >todo?
Mostrar respuesta +
En el primero, stderr se duplica hacia el archivo al que ya apunta stdout. En el segundo, stderr conserva el destino anterior y solo stdout termina en el archivo.
Una tubería conecta procesos, no textos mágicos
El operador | conecta stdout del proceso izquierdo con stdin del derecho. Cada etapa debe tener un propósito observable. El estado global de una tubería puede ocultar fallos intermedios; en Bash, pipefail permite que un error anterior no parezca éxito solo porque la última orden terminó bien.
Inspecciona la salida de cada etapa antes de añadir otra.
grep filtra líneas; sort ordena; uniq cuenta adyacentes.
tee permite observar y guardar una corriente.
¿Por qué uniq suele ir después de sort?
Mostrar respuesta +
Porque uniq agrupa o elimina solo líneas repetidas que están juntas; sort reúne primero los valores iguales.
Segundo plano no significa proceso independiente
Añadir & devuelve el prompt y registra un trabajo de la shell. jobs, fg y bg controlan esos trabajos; ps observa procesos. Ctrl+C suele enviar SIGINT al trabajo en primer plano y Ctrl+Z SIGTSTP. Para tareas duraderas conviene tmux o un servicio, no depender de una terminal accidental.
PID identifica un proceso; %1 puede identificar un trabajo de la shell.
kill envía una señal y SIGTERM permite una salida ordenada.
SIGKILL no puede limpiarse y debe ser el último recurso.
¿Por qué kill no significa necesariamente “matar inmediatamente”?
Mostrar respuesta +
Porque kill envía una señal. Por defecto suele ser SIGTERM, que solicita terminar y permite que el proceso cierre archivos o libere recursos.
Tu recorrido en tres ideas
- stdin, stdout y stderr tienen destinos independientes
- Una tubería conecta procesos, no textos mágicos
- Segundo plano no significa proceso independiente
Comprueba que puedes usarlo
Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.
Combinar stderr con stdout y después perder la causa de un fallo.
Enviar SIGKILL como primera respuesta sin dar oportunidad de limpiar.
Ahora hazlo sin guía
Construye una tubería que produzca un informe, conserve errores por separado y ejecute una tarea controlable en segundo plano.
Mostrar pauta de corrección +
- Explica cada descriptor y redirección.
- Verifica estados con pipefail.
- Termina el proceso con TERM y comprueba su salida.
