Dominio de la Terminal de Comandos
Curso introductorio, práctico y progresivo para profesionales y estudiantes técnicos.
Descripción
La terminal de comandos es una de las herramientas más poderosas que un profesional técnico puede dominar. Desde la automatización de tareas repetitivas hasta el análisis de datos, la administración de servidores y la depuración de sistemas, la terminal es el entorno común a Linux, macOS y Windows (mediante WSL).
Este curso está diseñado para que pierdas el miedo a la terminal, comprendas cómo funciona la interacción mediante comandos y adquieras habilidades esenciales transferibles a cualquier sistema Unix-like. No se trata de memorizar comandos: se trata de entender cómo y por qué funciona cada operación, para que puedas aplicar ese conocimiento en situaciones reales de trabajo.
Audiencia objetivo
Perfil primario:
- Profesionales y estudiantes universitarios de ingeniería, ciencias, datos y tecnología.
- Usuarios técnicos que desean mejorar su autonomía en entornos Linux, macOS o Windows con WSL.
- Personas con poca o ninguna experiencia previa en terminal.
Perfil secundario:
- Investigadores, analistas y automatizadores noveles.
- Desarrolladores que usan la terminal de forma incidental y quieren una comprensión sólida.
No es para:
- Administradores de sistemas experimentados.
- Personas que ya dominan scripting avanzado en Bash.
- Usuarios que solo buscan una lista de referencia de comandos sin práctica.
Prerrequisitos
- Un computador con Windows 10/11 (para instalar WSL2), macOS (terminal nativa) o Linux (cualquier distribución).
- Conexión a internet para instalar WSL2 (Windows), paquetes y herramientas adicionales.
- Ninguna experiencia previa en terminal. El curso parte desde cero.
- Disposición a escribir comandos, experimentar y cometer errores en un entorno seguro.
Estructura del curso
El curso se divide en 8 unidades organizadas en tres fases progresivas:
Fase 1 — Fundación (Unidades 1–4)
Aprenderás a hacer cosas en la terminal sin necesidad de entender el funcionamiento interno.
| Unidad | Tema | Lo que lograrás |
|---|---|---|
| 1 | Introducción y motivación profesional | Entender qué es la terminal, la shell y cómo se ejecutan comandos. Instalar WSL2 (Windows) o verificar tu terminal nativa. Crear tu espacio de trabajo. |
| 2 | Comandos básicos y navegación | Navegar el sistema de archivos con cd, pwd, ls. Crear, copiar, mover y eliminar archivos y directorios. Dominar rutas absolutas y relativas. |
| 3 | Manipulación de archivos de texto | Visualizar, explorar y procesar archivos de texto con cat, head, tail, wc, sort, uniq, diff. Editar archivos con Nano y Vim. |
| 4 | Búsqueda en la terminal | Usar wildcards (*, ?, []), buscar patrones con grep y encontrar archivos con find. Combinar búsquedas con pipes y otros comandos. |
Fase 2 — Comprensión (Unidades 5–6)
Entenderás cómo funciona lo que ya sabes hacer.
| Unidad | Tema | Lo que lograrás |
|---|---|---|
| 5 | Funcionamiento interno de la shell | Distinguir entre comandos internos y externos. Usar redirecciones (>, >>, 2>, <), pipes (|) y operadores (&&, ||). Crear alias temporales y permanentes. |
| 6 | Interacción con el sistema operativo | Gestionar permisos con chmod, trabajar con variables de entorno (PATH, export), instalar paquetes con apt, y administrar procesos con ps, top, kill, jobs, fg, bg. |
Fase 3 — Proyección (Unidades 7–8)
Extenderás y consolidarás tu dominio de la terminal.
| Unidad | Tema | Lo que lograrás |
|---|---|---|
| 7 | Utilidades profesionales de terminal | Empaquetar y comprimir archivos con tar y gzip. Usar tmux para sesiones persistentes. Verificar conectividad de red. Personalizar tu terminal con ZSH y Oh My ZSH. Explorar terminales modernas con IA como Warp. |
| 8 | Cierre y proyección | Repasar buenas prácticas y errores comunes. Identificar tu ruta de aprendizaje futuro hacia shell scripting, automatización y administración de sistemas. |
Formato del curso
El curso combina dos formatos complementarios:
- Unidades en Markdown (
.md): Unidades 1, 2, 5, 7 y 8. Contenido textual rico con ejemplos, ejercicios, diagramas y bloques de código listos para copiar y ejecutar. - Unidades en Jupyter Notebook (
.ipynb): Unidades 3, 4 y 6. Notebooks ejecutables que combinan explicaciones con celdas de código que puedes ejecutar, modificar y experimentar directamente.
Cómo navegar los materiales
- Comienza por la Unidad 1 y avanza en orden. Cada unidad asume que dominas los conceptos de las anteriores.
- Ejecuta los ejemplos. No los leas solamente: escríbelos tú mismo en tu terminal. La práctica es la única forma de aprender.
- Completa los ejercicios guiados. Cada unidad incluye 3–5 ejercicios con verificación visual o por comparación de salida.
- Haz la práctica final de cada unidad. Es acumulativa: retoma habilidades de unidades anteriores. La unidad 8 integra todo el curso.
- Responde el quiz formativo de la unidad en
assessments/quizzes/unit-N-quiz.md. Úsalo después de la práctica final para comprobar comprensión y corregir razonamiento con la clave. - Usa el syllabus (
syllabus.md) para ver objetivos detallados, temario por sesión, criterios de evaluación y carga horaria estimada.
Archivos de datos de ejemplo
Las unidades 3 y 4 utilizan archivos de ejemplo ubicados en ~/terminal-course/datos/. Puedes crearlos manualmente siguiendo las instrucciones de cada unidad, o usar los scripts proporcionados.
Lo que lograrás al finalizar
Al completar este curso, podrás:
- ✅ Moverte por el sistema de archivos con fluidez usando rutas absolutas y relativas.
- ✅ Crear, copiar, mover, renombrar y eliminar archivos y directorios desde la terminal.
- ✅ Visualizar, explorar y procesar archivos de texto con comandos especializados.
- ✅ Buscar información dentro de archivos y encontrar archivos en el sistema.
- ✅ Combinar comandos mediante pipes, redirecciones y operadores para crear flujos de trabajo potentes.
- ✅ Editar archivos de texto directamente en la terminal.
- ✅ Instalar herramientas mediante gestores de paquetes.
- ✅ Gestionar procesos del sistema operativo.
- ✅ Revisar conectividad básica de red.
- ✅ Personalizar tu entorno de trabajo.
- ✅ Perder el miedo a la terminal y tener la confianza para explorar por tu cuenta.
Carga horaria estimada
| Modalidad | Duración | Dedicación semanal |
|---|---|---|
| Intensiva | 8 semanas | ~4–5 horas por semana |
| Extendida | 16 semanas | ~2–2.5 horas por semana |
Total estimado: 32–40 horas distribuidas en teoría (36 %), ejercicios guiados (42 %) y prácticas acumulativas (22 %).
Recursos complementarios
syllabus.md— Temario detallado, objetivos por unidad, criterios de evaluación y cronograma.course.brief.md— Brief pedagógico: audiencia, propósito, alcance y criterios de calidad.course.plan.md— Plan de producción: estructura, dependencias, hitos y riesgos.assessments/quizzes/— Quizzes formativos por unidad, con 10 preguntas y clave razonada.
Licencia y uso
Este curso es material educativo de código abierto. Puedes usarlo, modificarlo y compartirlo libremente. Si lo utilizas en un entorno académico o de formación profesional, se agradece la atribución al proyecto ALI.
"La terminal no es una reliquia del pasado. Es la interfaz más eficiente que existe para comunicarte con tu computadora."