Sistemas: Linux, SSH y Git (Del Commit al Pull Request)
- Duración: 4 tardes (16 horas lectivas).
- Modalidad: Online en directo / Presencial.
- Público objetivo: Estudiantes o juniors que se sienten inseguros fuera del entorno gráfico de Windows, quieren dominar la terminal de Linux y necesitan aprender a trabajar con Git en un entorno de equipo real.
El Problema
En las empresas nadie trabaja subiendo archivos zip a Google Drive ni desplegando con un clic desde el entorno gráfico. La realidad profesional exige:
- Moverte con soltura por servidores a través de una consola Linux sin miedo a romper nada.
- Conectarte a máquinas remotas de forma segura mediante claves SSH.
- Usar Git sin miedo a perder código al hacer un
mergeo resolver un conflicto de ramas.
Esta píldora elimina la barrera del "modo consola" y te da la autonomía de sistemas que busca cualquier empresa.
Temario Detallado (Tarde por Tarde)
Lunes: La Terminal Linux sin Miedo
- Instalación y entorno: Opciones de trabajo (WSL2 en Windows, máquina virtual o Linux nativo).
- Navegación básica: Comandos esenciales (
cd,ls,pwd,mkdir,rm,cp,mv). - Permisos y usuarios: Entender
chmod,chown, usuarios, grupos y cuándo (no) usarsudo. - Visualización y edición: Manipulación rápida de archivos con
cat,less,head,taily edición básica en consola connano/vim. - Ejercicio práctico: Crear una estructura de carpetas y usuarios en consola y gestionar sus permisos.
Martes: Administración de Servidores y Redes Básicas
- Variables de entorno y PATH: Configuración de
.bashrc/.zshrcy paso de variables. - Procesos y recursos: Diagnosticar la máquina (
ps,top,htop,kill,free,df -h). - Redes desde la consola: Diagnóstico básico (
ping,curl,netstat,ss,ports). - Redirección y pipes: Filtrar información y construir tuberías de comandos (
grep,find,|,>,>>). - Ejercicio práctico: Inspeccionar los procesos y puertos de un servidor Linux simulado y encontrar fallos en logs.
Miércoles: Conexión Remota Segura con SSH
- Conceptos de SSH: Criptografía asimétrica, clave pública y clave privada.
- Generación y gestión de claves:
ssh-keygen, almacenamiento seguro y permisos de~/.ssh/. - Conexión a servidores: Acceso mediante
ssh user@ip, configuración de~/.ssh/configpara atajos. - Transferencia de archivos: Copia de archivos segura entre máquinas con
scpyrsync. - Ejercicio práctico: Crear un par de claves, subirlas a un servidor Linux remoto y acceder de forma automatizada sin contraseña.
Jueves: Git Fundamental y Gestión de Cambios
- Conceptos clave: El árbol de Git (Working Directory, Staging Area, Local Repo, Remote Repo).
- Flujo diario:
git status,git add,git commit(con mensajes con sentido),git pushygit pull. - Inspección de historial:
git log,git diffy cómo revertir cambios locales sin romper el proyecto. - Integración con GitHub / GitLab: Configuración de autenticación mediante claves SSH.
- Ejercicio práctico: Iniciar un repositorio local, conectarlo a GitHub por SSH y realizar un historial de entregas limpio.
Viernes: Git Corporativo y Trabajo en Equipo
- Ramas y estrategias: Creación y cambio de ramas (
git branch,git checkout,git switch). - Conflictos en código: Qué es un conflicto, por qué ocurre y cómo resolverlo paso a paso.
- Merge vs. Rebase: Cuándo usar cada uno y por qué las empresas prefieren un historial lineal.
- Flujo Pull Request / Code Review: Creación de una PR, revisión del código de un compañero y aprobación de cambios.
- Ejercicio práctico: Simulacro en equipo donde varios alumnos modifican el mismo proyecto, provocan un conflicto de código a propósito y lo resuelven mediante PR.
Lo que te llevas
- Soltura total trabajando en entornos Linux desde la consola de comandos.
- Dominio de la conexión remota SSH para administrar servidores sin interfaz gráfica.
- El flujo de trabajo con Git y GitHub que aplican los equipos de desarrollo profesionales.