Tema 5: Fundamentos de la CLI de Linux
⏱️ Tiempo estimado: 1 semana
Necesitas habilidades de CLI en Linux para trabajar con cloud. Te recomendamos leer y trabajar Linux Basics for Hackers. También podrías ir directo a la lista de comandos de abajo e investigarlos uno por uno, pero en nuestra opinión eso no te da suficiente contexto de cómo funcionan en conjunto.
📚 Ruta de aprendizaje
Para este tema, te recomendamos avanzar por los Capítulos 1-8 del libro, que cubren habilidades esenciales para trabajo en cloud:
- Getting Started with the Basics
- Text Manipulation
- Analyzing and Managing Networks
- Adding and Removing Software
- Controlling File and Directory Permissions
- Process Management
- Managing User Environment Variables
- Bash Scripting
Opcional pero útil: Los capítulos 9-11 (Compressing/Archiving, Filesystem Management y Logging) dan contexto extra.
Comandos base
Antes de empezar los retos, familiarízate con estos comandos:
pwd: Print working directory – muestra tu ubicación actual.cd: Change directory – navegar entre carpetas.ls: listar contenido del directorio.cat: mostrar contenido de archivos.
Reto 1: Archivos ocultos
Aprende estos comandos para encontrar archivos ocultos:
ls -a: lista todos los archivos, incluyendo los ocultos.ls -la: listado detallado incluyendo ocultos.find . -name ".*": busca archivos ocultos.
Conceptos clave:
- En Linux, los archivos ocultos empiezan con un punto (
.). - No se muestran por defecto.
- Usa la opción
-aconlspara verlos.
Reto 2: Búsqueda de archivos
Domina estos comandos para buscar:
find /path -name "pattern": busca archivos por nombre.find /path -type f: busca archivos regulares.locate filename: búsqueda rápida usando una base de datos.grep -r "text" /path: busca contenido de forma recursiva.
Reto 3: Análisis de tamaño
Comandos para analizar tamaños:
ls -lh: lista con tamaños “human-readable”.du -h: muestra uso de disco.sort -h: ordena por tamaños “human-readable”.find /path -type f -size +1M: encuentra archivos mayores a 1MB.
Reto 4: Investigación de usuarios
Comandos de usuarios:
id username: muestra UID y grupos.cat /etc/passwd: ver cuentas de usuario.getent passwd uid: obtener usuario por UID.ls -l /home/: lista directorios home.
Entendiendo archivos de usuario:
/etc/passwd: información de cuentas.~/.profiley~/.bashrc: configuración del shell.
Reto 5: Análisis de permisos
Comandos para permisos:
ls -l: ver permisos.stat filename: info detallada.find / -perm 777: busca permisos específicos.chmod: cambia permisos.
Reto 6: Servicios de red
Comandos para investigar red:
netstat -tuln: lista puertos escuchando.ss -tuln: alternativa moderna a netstat.lsof -i: lista archivos de red abiertos.curl localhost:port: prueba conectividad HTTP.nc -zv host port: prueba conexión TCP.
Reto 7: Codificar/decodificar
Comandos de procesamiento de texto:
base64: codifica o decodifica texto.echo -n "text": imprime sin salto de línea.- Operador pipe (
|) para encadenar comandos.
Reto 8: Configuración de SSH
Comandos y prácticas de SSH:
ls -la ~/.ssh/: lista el directorio SSH.find ~/.ssh -type f: encuentra archivos relacionados.chmod 600: permisos seguros para llaves.ssh-keygen: genera llaves SSH.
Buenas prácticas:
- Mantén tus llaves privadas seguras.
- Asegúrate de tener permisos correctos (por ejemplo, 600 para llaves).
- Revisa tu archivo
authorized_keys.
Reto 9: Troubleshooting DNS
Ahora que los retos incluyen problemas de DNS, aprende a comparar y editar archivos de configuración:
- Familiarízate con
/etc/resolv.confy su backup. - Practica usando herramientas de comparación para ver diferencias.
- Repasa comandos de edición para modificar archivos de forma segura.
Reto 10: Subida remota
En este reto vas a activar una flag subiendo un archivo:
- Entiende métodos comunes para transferir archivos (por ejemplo, secure copy u otras utilidades).
- Aprende a trabajar con directorios remotos para detectar archivos nuevos.
- Prueba diferentes enfoques de transferencia.
Reto 11: Configuración web
Este reto implica identificar un puerto no estándar de un servidor web:
- Aprende a localizar y revisar archivos de configuración (por ejemplo, de
nginx). - Familiarízate con lo básico de administración de servicios para reiniciar o recargar.
- Entiende cómo la configuración cambia el comportamiento del servidor.
Reto 12: Análisis de tráfico de red
En el reto más reciente, vas a analizar tráfico de red para descubrir mensajes ocultos:
- Familiarízate con métodos de captura de tráfico.
- Aprende a inspeccionar paquetes para encontrar datos.
- Experimenta con herramientas de análisis sin depender de “recetas” exactas.
Tips generales
- Usa las páginas
manpara entender opciones. - Experimenta con combinaciones y pipes.
- Resuelve cada reto para construir entendimiento paso a paso.
Recuerda: la meta es aprender los comandos y entender cómo funcionan. Date tiempo para probar y explorar opciones y comportamiento.
✅ Checklist del tema
Antes de seguir, asegúrate de poder responder “sí” a esto:
- Completé los capítulos 1-8 de Linux Basics for Hackers (o equivalente)
- Entiendo comandos básicos de navegación (
cd,ls,pwd) - Puedo manipular archivos y carpetas desde la línea de comandos
- Entiendo permisos de archivos y cómo cambiarlos
- Puedo usar pipes y redirects para encadenar comandos
- Entiendo conceptos básicos de bash scripting