Contenido de la lección 11 tramos
Productividad: ssh, git CLI, tmux, alias y dotfiles
¿Qué es?
Esta lección reúne las herramientas que convierten la terminal en tu centro de operaciones diario. SSH te conecta a máquinas remotas como si estuvieras frente a ellas; la CLI de Git versiona tu trabajo desde la línea de comandos; tmux te deja tener varias sesiones a la vez y mantenerlas vivas aunque cierres la ventana; y los alias y dotfiles personalizan tu entorno para que te acompañe a cualquier ordenador. Son piezas distintas con un mismo objetivo: que trabajes más rápido y con tu propia configuración.
¿Cómo funciona?
SSH usa un par de claves (una pública que repartes y una privada que jamás compartes) para entrar a un servidor sin contraseña. Git registra tus cambios con un ciclo de status, add, commit y push. tmux trabaja con un prefijo (Ctrl+B y luego una tecla) para dividir paneles y hacer «detach» dejando procesos corriendo. Los alias son atajos para comandos largos que guardas en tus dotfiles (~/.zshrc o ~/.bashrc), archivos de configuración ocultos que recargas con source y que conviene versionar con Git.
¿Para qué sirve?
Estas herramientas hacen que tu proyecto final «Tu kit de automatización personal» viva contigo: al versionar tus dotfiles, estrenas una máquina, clonas el repositorio y recuperas de golpe todos tus alias, funciones y scripts. Los alias materializan la mentalidad del kit (detectar lo repetitivo y borrarlo), mientras SSH y tmux te permiten ejecutar tus automatizaciones en servidores remotos sin perderlas si se cae la conexión. Es el paso que lleva tu kit de una sola máquina a cualquier parte.
Ya sabes moverte, manipular texto, entender permisos y escribir scripts. Esta lección reúne las herramientas que convierten la terminal en tu centro de operaciones: trabajar en máquinas remotas, versionar con Git, manejar varias sesiones a la vez y, sobre todo, personalizar tu entorno para que el kit de automatización viva contigo en cualquier máquina. Al final hay equivalencias para quien venga de PowerShell en Windows.
SSH: tu terminal en otra máquina
ssh te conecta a un servidor remoto y te da un shell allí, como si estuvieras sentado frente a él.
ssh ana@192.168.1.50 # conectar como usuario ana
ssh ana@miservidor.com -p 2222 # puerto distinto del 22 por defecto
Teclear la contraseña cada vez es lento e inseguro. Mejor usar claves:
# 1. Generar un par de claves (privada + pública)
ssh-keygen -t ed25519 -C "ana@correo.com"
# 2. Copiar la pública al servidor (en Linux existe el ayudante):
ssh-copy-id ana@miservidor.com
# En macOS, si no tienes ssh-copy-id:
# cat ~/.ssh/id_ed25519.pub | ssh ana@miservidor.com 'cat >> ~/.ssh/authorized_keys'
# 3. A partir de ahora entras sin contraseña
ssh ana@miservidor.com
La clave privada (~/.ssh/id_ed25519, sin .pub) no se comparte jamás. Debe tener permisos 600. Solo se reparte la clave pública (.pub).
Para no repetir host, usuario y puerto, define alias en ~/.ssh/config:
# ~/.ssh/config
Host servidor
HostName miservidor.com
User ana
Port 2222
Después basta ssh servidor. Y para copiar archivos por SSH: scp archivo.txt servidor:/ruta/.
Git desde la terminal
La interfaz gráfica esconde lo que pasa; la CLI te lo enseña. Ciclo básico:
git status # ¿qué cambió?
git add archivo.txt # preparar un cambio
git add . # preparar todo lo modificado
git commit -m "Añade X" # registrar el cambio con un mensaje
git log --oneline # historial compacto
git diff # ver qué cambió antes de hacer add
git branch nueva-funcion # crear rama
git switch nueva-funcion # cambiar a ella (o: git checkout)
git merge nueva-funcion # fusionarla en la rama actual
git pull # traer cambios del remoto
git push # subir tus commits
git log --oneline --graph --all te dibuja el árbol de ramas en texto. Combínalo con un alias (más abajo) y lo tendrás en un teclazo.
tmux: varias sesiones en una ventana
tmux (terminal multiplexer) te permite dividir la pantalla en paneles, tener varias ventanas y —lo mejor— dejar sesiones corriendo aunque cierres la terminal o se caiga el SSH.
tmux # iniciar una sesión
tmux new -s trabajo # sesión con nombre
tmux ls # listar sesiones
tmux attach -t trabajo # re-engancharte a una sesión
Dentro de tmux todo se hace con un prefijo: Ctrl + B y luego una tecla.
Ctrl+B " # dividir en dos paneles (horizontal)
Ctrl+B % # dividir en dos paneles (vertical)
Ctrl+B flechas # moverte entre paneles
Ctrl+B c # nueva ventana
Ctrl+B n # siguiente ventana
Ctrl+B d # "detach": salir dejando la sesión viva
El caso de uso estrella: te conectas por SSH, abres tmux, lanzas un proceso largo, haces Ctrl+B d y cierras el portátil. Mañana ssh + tmux attach y todo sigue ahí.
Alias y dotfiles: tu entorno te acompaña
Un alias es un atajo para un comando largo. Los dotfiles son los archivos de configuración ocultos (empiezan por .) donde guardas esos alias y tus ajustes: ~/.zshrc en macOS (Zsh) y ~/.bashrc en Linux (Bash).
# Añade esto a ~/.zshrc (macOS) o ~/.bashrc (Linux):
alias ll='ls -lah'
alias gs='git status'
alias gl='git log --oneline --graph --all'
alias ..='cd ..'
alias kit='cd ~/kit-automatizacion' # ir directo a tu proyecto
# También puedes meter funciones:
mkcd() { mkdir -p "$1" && cd "$1"; } # crear carpeta y entrar
Tras editar el archivo, recárgalo sin reabrir la terminal:
source ~/.zshrc # macOS
source ~/.bashrc # Linux
Versiona tus dotfiles con Git en un repositorio. Así, al estrenar máquina, clonas el repo y recuperas todos tus alias, funciones y el kit de automatización de una vez. Es la forma profesional de "llevarte tu terminal" a cualquier parte.
Ejemplo guiado: un alias que ahorra escritura real
# 1. Mira cuánto escribes hoy para ver el estado de Git
git status
# 2. Abre tu archivo de configuración (usa el editor que prefieras)
nano ~/.zshrc # o ~/.bashrc en Linux
# 3. Añade al final:
alias gs='git status'
alias gaa='git add .'
alias gc='git commit -m'
# 4. Guarda (en nano: Ctrl+O, Enter, Ctrl+X) y recarga
source ~/.zshrc
# 5. Pruébalo
gs # equivale a git status
gc "Mi primer commit con alias" # git commit -m "..."
Tres letras en vez de doce, cada vez, todo el día. Multiplica eso por meses: esa es la mentalidad del kit de automatización: detectar lo repetitivo y borrarlo.
Equivalencias en PowerShell (Windows)
Si alternas con Windows, muchos conceptos se trasladan, aunque los nombres cambian:
Bash/Zsh PowerShell
-------- ----------
ls Get-ChildItem (alias: ls, dir)
cp Copy-Item (alias: cp)
mv Move-Item (alias: mv)
rm Remove-Item (alias: rm)
cat Get-Content (alias: cat)
grep "x" Select-String "x"
pwd Get-Location (alias: pwd)
export VAR=valor $env:VAR = "valor"
~/.bashrc $PROFILE (tu archivo de perfil de PowerShell)
alias x='...' Set-Alias / función en $PROFILE
PowerShell trabaja con objetos, no con texto plano: Get-Process | Where-Object CPU -gt 10 filtra por una propiedad real, no por una cadena. Es un modelo distinto, pero la intuición de "encadenar con tuberías" es la misma. SSH y Git CLI funcionan igual en Windows.
Tech English: remote (remoto), key pair (par de claves), public/private key (clave pública/privada), branch (rama), commit (confirmación de cambios), merge (fusión), session (sesión), attach/detach (enganchar/soltar), alias (atajo), dotfiles (archivos de configuración).
Ejercicios
-
Diseña tu set de alias. Revisa mentalmente (o con
history | sort | uniq -c | sort -rn) los comandos que más repites. Propón cinco alias o funciones que reducirían tu escritura, explicando para cada uno qué problema resuelve. Justifica por qué conviene guardarlos en un repositorio de dotfiles en lugar de solo en la máquina actual. -
Planifica una sesión remota resiliente. Debes ejecutar en un servidor un proceso que tarda dos horas, pero tu conexión se cae a ratos. Describe paso a paso, con los comandos exactos, cómo usarías
ssh(con clave, no contraseña) ytmuxpara que el proceso sobreviva a las desconexiones y puedas volver a verlo más tarde desde otra máquina. Explica por quétmuxes necesario aquí y qué pasaría sin él.
Fin de la lección: abajo están las preguntas y los comentarios.
¿Le sirvió esta lección?
Sirve para saber qué reescribir. Se puede cambiar cuando quiera.
Su avance y su nombre se guardan en este navegador. No hace falta registrarse.
¿Va por el certificado?
Practicar y comentar no exige nada. Para el certificado sí hace falta verificar el correo, el nombre completo, la institución, el grado, porque el certificado dice quién es usted.
Le llega un código de 6 dígitos. No hay contraseña que recordar.
Vence en 15 minutos.
Comentarios (0)
Pregunte lo que no entendió. Alguien más tiene la misma duda y no se atreve.
- Todavía no hay comentarios. Estrene usted.