HACK A BOSS
FormaciónEvaluacionesPerfil
Volver
  • En directo

Linux Intermedio: Scripting y Administración del Sistema

8h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • Linux

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Este curso está dirigido a profesionales técnicos que ya operan con soltura en la terminal Linux y quieren dar el salto a la automatización real y la administración del sistema con criterio. Cubre dos ejes complementarios: scripting Bash estructurado —desde la escritura de scripts con parámetros y control de flujo hasta funciones, variables robustas y depuración— y administración práctica del sistema: gestión del software instalado, comprensión de la jerarquía de ficheros de configuración y edición segura desde la terminal con vim. Al finalizar, el participante será capaz de escribir scripts Bash mantenibles y robustos, administrar paquetes en distribuciones Debian y Fedora, y modificar ficheros de configuración críticos con un procedimiento que garantiza la recuperabilidad ante errores.

Al finalizar el curso, el participante será capaz de:

  • Escribir scripts Bash ejecutables con shebang correcto, parámetros posicionales y validación básica de argumentos con mensajes de uso y códigos de salida adecuados
  • Aplicar condicionales if/elif/else y case para ramificar la lógica de un script según el valor de variables o el código de salida de un comando
  • Implementar bucles for y while para iterar sobre listas, globs y ficheros de forma automatizada y segura
  • Crear funciones para encapsular y reutilizar lógica, pasarles argumentos y retornar valores mediante códigos de salida o captura de stdout
  • Manejar variables de entorno con valores por defecto y aplicar set -euo pipefail para hacer scripts robustos frente a errores y variables no definidas
  • Depurar scripts con set -x y construir pipelines de procesamiento de texto combinando grep, awk, cut, sort y uniq para filtrar y transformar salidas de comandos
  • Gestionar el ciclo de vida del software con apt o dnf: actualizar índices, instalar, eliminar paquetes con sus ficheros de configuración y verificar el estado del sistema
  • Localizar los ficheros de configuración del sistema en la jerarquía FHS y razonar sobre el impacto de una modificación antes de aplicarla
  • Editar ficheros desde la terminal con vim aplicando los modos de operación, comandos de navegación y operaciones de guardado y salida
  • Aplicar un procedimiento de edición segura sobre configuraciones críticas: copia previa con timestamp, validación de sintaxis y rollback manual ante un fallo de servicio
  1. Scripts Bash ejecutables Shebang y portabilidad: #!/usr/bin/env bash vs. ruta absoluta; parámetros posicionales 0,0, 0,1, # y ?; chmod +x y permisos de ejecución; validación de argumentos: presencia, rango y mensajes de uso a stderr con >&2; códigos de salida 0 y distintos de 0; estructura básica de un script de producción
  2. Control de flujo: condicionales y bucles Condicionales if/elif/else con operadores numéricos (-eq, -lt, -gt) y de cadena (=, !=, -z, -n); estructura case para múltiples patrones con comodines; bucles for sobre listas explícitas, globs y rangos; while con IFS= read -r para leer ficheros línea a línea sin romper espacios; break y continue; glob seguro con comillas dobles para evitar word splitting
  3. Funciones y variables robustas Declaración y llamada de funciones; paso de argumentos con 1,1, 1,2; return para códigos de salida (0/1); captura de salida de texto con sustitución de comandos ();aˊmbitodevariables:localvs.globalyefectossecundarios;set−euopipefail:comportamientode−e(salirenerror),−u(errorenvariablenodefinida)ypipefail(propagarerroresenpipes);expansionesdeparaˊmetro:(); ámbito de variables: local vs. global y efectos secundarios; set -euo pipefail: comportamiento de -e (salir en error), -u (error en variable no definida) y pipefail (propagar errores en pipes); expansiones de parámetro: ();aˊmbitodevariables:localvs.globalyefectossecundarios;set−euopipefail:comportamientode−e(salirenerror),−u(errorenvariablenodefinida)ypipefail(propagarerroresenpipes);expansionesdeparaˊmetro:{VAR:-default}, VAR:=default,{VAR:=default}, VAR:=default,{VAR:?mensaje}
  4. Depuración y procesamiento de texto set -x para trazar la ejecución: lectura de prefijos + y expansión de variables en la traza; técnicas de acotación del debug con set +x; pipelines de texto: grep con -r, -i, -n, -l para filtrar por patrón; awk para extracción de columnas por posición ($n) y condición; cut con -d y -f para ficheros delimitados; sort y uniq -c para contar ocurrencias; casos de uso reales: filtrar entradas de log, extraer IPs, contar frecuencias de eventos
  5. Gestión de paquetes y configuración del sistema apt: update vs. upgrade, install, remove vs. purge (con ficheros de configuración), dpkg -l para listar paquetes instalados, dpkg -S para identificar el paquete propietario de un fichero; dnf como equivalente en Fedora/RHEL; jerarquía FHS: /etc (configuración estática del host), /var (datos en ejecución y logs), /usr (binarios y librerías de usuario), /lib (librerías del sistema); ficheros clave: /etc/passwd, /etc/resolv.conf, /etc/ssh/sshd_config, /etc/network/interfaces o /etc/netplan/*.yaml; razonamiento de impacto antes de modificar: qué servicio se ve afectado y cómo recuperarlo
  6. Edición en terminal y modificación segura vim: modo normal, inserción y comando; navegación: G (última línea), gg (primera), nG y :n (línea n); edición: i y o para inserción, dd para eliminar línea, nyy para copiar n líneas, p para pegar, u para deshacer; guardado y salida: :w, :wq, :q!; nano como alternativa con atajos Ctrl+; procedimiento de edición segura: copia con timestamp usando cp fichero fichero.bak.$(date +%Y%m%d_%H%M%S); validación de sintaxis sin reiniciar con sshd -t o nginx -t; reload vs. restart y por qué reload no interrumpe sesiones activas; rollback: restaurar el .bak, revalidar y recargar; mantener la sesión activa durante la prueba de cambios en SSH
  • Acceso a una terminal Bash con Linux: WSL2 en Windows (Ubuntu 22.04 LTS recomendado), Terminal en macOS con bash 5.x, o máquina virtual con Ubuntu 22.04 LTS
  • bash 5.0 o superior (verificable con bash --version)
  • vim instalado (disponible por defecto en Ubuntu/Debian; instalar con apt install vim si no está presente)
  • Acceso sudo para instalación de paquetes y edición de ficheros de configuración del sistema
  • Conexión a internet para descarga de paquetes durante los ejercicios de gestión de software
  • Editor secundario nano disponible como alternativa a vim en los ejercicios de edición

→ LNX01 — Fundamentos de Linux (Iniciación, 6h)

  • Explicar qué es el kernel y describir el papel de procesos e hilos en la ejecución de programas en Linux
  • Diferenciar stack y heap y describir su relevancia en el comportamiento en memoria de un proceso en ejecución
  • Identificar el modelo de privilegios de Linux y distinguir los permisos básicos de lectura, escritura y ejecución en archivos y directorios
  • Navegar por el sistema de archivos y manipular archivos y directorios desde la terminal Bash
  • Localizar archivos y buscar patrones de texto en ficheros usando comandos de terminal
  • Reconocer las variables de entorno y utilizarlas para parametrizar comandos desde la terminal