Módulo 4: La Terminal

Ver los siguientes videos sobre SSH (se preguntará al respecto en clase), necesitaras instalar y configurar to ssh local apra jugar bandit. Si tienes wsl2 hazlo en wsl2 no powershell:
Se hará quiz en clase sobre el contenido de los videos.
URL: https://overthewire.org/wargames/bandit/bandit0.html
Bandit es un juego de “wargames” para aprender comandos de terminal. Tu objetivo:
Completar los niveles 0 al 5 (tener la contraseña para entrar al nivel 6).
REGLA PRINCIPAL: NO USES LLMs (ChatGPT, Claude, Gemini, etc.)
Esta tarea es para que aprendas a buscar información a la antigua. Queremos que:
- Pienses qué necesitas hacer
- Busques cómo funciona el comando (no la solución)
- Experimentes en la terminal
Recursos permitidos:
| Recurso | Para qué usarlo |
|---|---|
man comando |
Manual del sistema en tu terminal |
comando --help |
Ayuda rápida |
| Buscar “how to [cosa] in linux”, NO “bandit level X solution” | |
| Stack Overflow | Buscar cómo funcionan comandos |
| explainshell.com | Entender partes de un comando |
| tldr.sh | Ejemplos prácticos de comandos |
| Las pistas de Bandit | Cada nivel dice “Commands you may need” |
NO permitido:
- ChatGPT, Claude, Gemini, Copilot, o cualquier LLM
- Buscar “bandit level 0 solution”, “bandit walkthrough”, etc.
- Copiar soluciones de otros
Entrega:
Archivo bandit_solucion.txt con este formato para CADA nivel (0-5):
=== NIVEL X ===
1. ¿Qué necesito hacer? (en tus palabras)
2. ¿Qué comando(s) creo que necesito?
3. ¿Dónde busqué información? (link o man page)
4. Comandos que ejecuté:
$ comando1
$ comando2
5. ¿Funcionó? Si no, ¿qué ajusté?
Screenshot mostrando que entraste al nivel 6.
Tu nombre y clave en el archivo.
Nota: La siguiente clase algunos pasarán a explicar cómo resolvieron un nivel. Debes poder explicar tu proceso de pensamiento, no solo los comandos.
La terminal es la interfaz más poderosa para interactuar con tu computadora. Dominarla es esencial para cualquier desarrollador, científico de datos o ingeniero de IA.
¿Por qué aprender la terminal?
- Eficiencia: Muchas tareas son más rápidas por terminal que por interfaz gráfica
- Automatización: Puedes crear scripts para tareas repetitivas
- Acceso remoto: Servidores y servicios cloud solo ofrecen acceso por terminal
- Herramientas de desarrollo: Git, Docker, Python, y la mayoría de herramientas modernas se usan desde la terminal
Contenido
-
- ¿Qué es la terminal? ¿Qué es el shell?
- Anatomía de un comando
- Tu primera interacción
-
- El sistema de archivos
- Rutas absolutas vs relativas
- El directorio home (
~) - Comandos:
pwd,ls,cd
-
- Atajos de teclado esenciales
- Historial de comandos
- Tab completion
- Aprende estos temprano para practicarlos en las siguientes secciones
-
- Crear archivos y directorios
- Copiar, mover y renombrar
- Eliminar archivos (con cuidado)
- Ver contenido de archivos
-
- Búsqueda y filtrado
- Redirección y pipes
- Permisos de archivos
- Procesos
-
- Gestores de paquetes del sistema (
apt,brew) - Python y
pip - Actualizar tu sistema
- Gestores de paquetes del sistema (
Antes de empezar
Asegúrate de tener acceso a una terminal:
| Sistema Operativo | Cómo abrir la terminal |
|---|---|
| macOS | Cmd + Espacio → escribir “Terminal” |
| Linux | Ctrl + Alt + T |
| Windows (WSL2) | Buscar “Ubuntu” en el menú inicio |
| Windows (PowerShell) | Win + X → Terminal |
Nota: Para este curso usamos terminales Unix (Linux, macOS, WSL2). Los comandos de PowerShell son diferentes.

Cómo buscar información (sin LLMs)
Aprende a buscar información como se hacía antes de ChatGPT. Estas habilidades son importantes porque:
- Los LLMs pueden estar equivocados
- En el trabajo real necesitas verificar información
- Entiendes mejor cuando buscas tú mismo
En tu terminal:
# Manual completo de un comando
man ls
# Ayuda rápida
ls --help
# Buscar comandos por descripción
apropos "search file"
# Descripción corta
whatis grep
# Desde la terminal (requiere internet)
curl cheat.sh/tar
En internet:
| Qué buscar | Dónde |
|---|---|
| “how to list hidden files linux” | |
| “linux find file by name” | Stack Overflow |
Entender ls -la |
explainshell.com |
Ejemplos de grep |
tldr.sh o devhints.io |
| Referencia completa | ss64.com/bash |
Ejemplo de búsqueda correcta:
MAL: “bandit level 1 solution” ❌
BIEN: “linux how to read file with special characters in name” ✓
MAL: “overthewire bandit walkthrough” ❌
BIEN: “man cat” en tu terminal ✓
Ejercicio de Inicio Rápido
Antes de continuar, asegúrate de que tu terminal funciona:
# 1. Abre tu terminal
# 2. Ejecuta estos comandos y verifica que no hay errores:
whoami
pwd
ls
echo "¡Mi terminal funciona!"
# 3. Si todo funciona, continúa al siguiente tema
Si algún comando falla, revisa el Módulo A.3: Configuración del Sistema Operativo.
Prompt de Inicio
Estoy intentando usar la terminal en [Windows WSL2 / macOS / Linux] y tengo este problema:
[describe tu problema]
Cuando ejecuto [comando], obtengo:
[pega el error o comportamiento inesperado]
¿Cómo puedo solucionarlo?