Módulos de Estudio
Selecciona un módulo para ver sus ejercicios ordenados por dificultad
Scripting
4 módulos ▼Bash Scripting
Variables, bucles, funciones, scripts completos
MedioEstructuras de Control
if/elif/else, case, transformaciones entre estructuras
MedioScripting Reforzado
Corrección y transformación if/case, bucles for/while/until, scripts combinados
MedioTransformaciones Avanzadas
if→case, case→if, corrección semántica, ordenar bloques
MedioSistema
6 módulos ▼Procesos y Servicios
ps, kill, jobs, fg, bg, gestión de procesos
MedioProcesos y Señales Avanzado
SIGTERM vs SIGKILL, SIGHUP, pkill, killall, ps aux
MedioUsuarios y Permisos
useradd, chmod, chown, /etc/passwd, grupos
MedioVariables de Entorno y Rutas
$PATH, $HOME, export, which, whereis, /bin, /usr/bin
MedioLogs y Redirección
/var/log/, tail -f, journalctl, >, >>, 2>, &>
MedioCron y Tareas Programadas
Sintaxis crontab, *, /, rangos, crontab -e/-l/-r
MedioServicios de Red
6 módulos ▼SSH y Acceso Remoto
ssh, ssh-keygen, ssh-copy-id, sshd_config, scp, rsync, túneles, PuTTY
MedioNFS
/etc/exports, exportfs, showmount, mount -t nfs, fstab, opciones de exportación
MedioSamba
smb.conf, recursos compartidos, smbpasswd, testparm, mount -t cifs, acceso Windows
MedioLDAP
DN/RDN/OU/CN/DC, slapd, ldapsearch/add/modify/delete, LDIF, autenticación
MedioIntegración de Sistemas
Linux+Windows, Samba/NFS, mount cifs, protocolos, permisos en entornos mixtos
MedioRedes y Configuración
ip, ping, ss, rutas, interfaces de red
MedioAlmacenamiento
4 módulos ▼Almacenamiento y Montajes
lsblk, blkid, mkfs, mount/umount, /etc/fstab, swap, LVM, MBR vs GPT
MedioCopias de Seguridad
tar, rsync --delete, dd, estrategias, cron, verificación con sha256sum
MedioGestión de Paquetes
apt update/upgrade/install, dpkg, repositorios, claves GPG, dependencias
MedioSystemd y Servicios
systemctl, journalctl, unit files, enable vs start, targets, daemon-reload
MedioHerramientas
🔁 Repaso
Referencia Rápida
Busca comandos por nombre o descripción
VAR=valor
Asignar variable (sin espacios)
echo $VAR
Expandir variable
$(comando)
Sustitución de comando
if [ cond ]; then
Inicio de condicional
elif [ cond ]; then
Condición adicional
fi
Cierre de if
for i in {1..10}; do
Bucle for con rango
while [ cond ]; do
Bucle while
done
Cierre de for/while
nombre() { ... }
Definir función
$1, $2, $@, $#
Argumentos del script/función
$?
Código de salida del último comando
case "$VAR" in
Inicio de case
patron)
Patrón del case (termina en )
p1|p2)
Patrón OR en case
;;
Fin de bloque case
*)
Comodín case (equivale a else)
esac
Cierre de case
[ -z "$V" ]
Comprobar variable vacía
[ -n "$V" ]
Comprobar variable no vacía
[ $N -gt 0 ]
Comparación numérica mayor que
-eq -ne -lt -le -gt -ge
Operadores numéricos en [ ]
ps aux
Listar todos los procesos
kill -15 PID
SIGTERM — terminar elegantemente
kill -9 PID
SIGKILL — terminar forzosamente
kill -1 PID
SIGHUP — recargar configuración
kill -19 PID
SIGSTOP — suspender proceso
pkill nombre
Terminar por nombre (parcial)
killall nombre
Terminar por nombre (exacto)
pgrep nombre
Buscar PID por nombre
jobs
Listar jobs del shell actual
fg %N
Traer job N al primer plano
bg %N
Reanudar job N en segundo plano
comando &
Ejecutar directamente en background
useradd -m usuario
Crear usuario con directorio home
passwd usuario
Cambiar contraseña de usuario
usermod -aG grupo usr
Añadir usuario a grupo (sin quitar otros)
userdel -r usuario
Borrar usuario y su home
id usuario
Ver UID, GID y grupos
chmod 755 fichero
Cambiar permisos (octal)
chmod u+x fichero
Cambiar permisos (simbólico)
chown usr:grp fich
Cambiar propietario y grupo
r=4 w=2 x=1
Valores octal de permisos rwx
ip addr
Ver interfaces y direcciones IP
ip route show
Ver tabla de rutas
ip addr add IP/M dev IF
Asignar IP temporalmente
ip link set IF up/down
Activar/desactivar interfaz
ping -c 4 host
Ping limitado a 4 paquetes
ss -tulpn
Puertos TCP/UDP en escucha
ip route add default via GW
Añadir ruta por defecto
echo $PATH
Ver el PATH actual
export PATH=$PATH:/dir
Añadir directorio al PATH
which comando
Localizar ejecutable en PATH
whereis comando
Localizar binario, fuente y manual
type comando
Tipo: builtin, alias o ejecutable
export VAR=valor
Exportar variable para subprocesos
env
Listar todas las variables de entorno
source ~/.bashrc
Recargar configuración del shell
crontab -e
Editar crontab del usuario actual
crontab -l
Listar crontab actual
crontab -r
Eliminar crontab (¡cuidado!)
* * * * * cmd
Cada minuto (m h dom mon dow)
0 0 * * *
Cada día a medianoche
*/15 * * * *
Cada 15 minutos
0 8 * * 1
Lunes a las 8:00 AM
0 6 1 * *
Primer día de mes a las 6 AM
cmd > fichero
Redirigir stdout (sobreescribe)
cmd >> fichero
Añadir stdout al final del fichero
cmd 2> errores
Redirigir stderr
cmd &> todo.log
Redirigir stdout y stderr juntos
cmd 2>/dev/null
Descartar stderr
tail -f fichero
Seguir log en tiempo real
tail -n 50 fichero
Últimas 50 líneas
journalctl -u servicio
Logs de un servicio systemd
journalctl -b
Logs desde el último arranque
/var/log/auth.log
Log de autenticación (Debian/Ubuntu)