jueves, 9 de abril de 2026

Comandos de Terminal Esenciales

Comandos de Terminal Esenciales en Debian 13 — Nivel Intermedio-Avanzado
Debian 13 // Terminal Mastery

Comandos de Terminal Esenciales

Guía intermedio-avanzada para Debian 13 "Trixie"

Debian 13 Linux CLI Memoria RAM Procesos Red Disco Systemd Nivel Avanzado

La terminal no es solo una ventana de texto: es el sistema nervioso central de tu máquina. En Debian 13 "Trixie", dominar los comandos correctos te da un control granular sobre memoria, procesos, red, almacenamiento y servicios que ninguna interfaz gráfica puede igualar. Esta guía cubre los comandos que todo usuario intermedio-avanzado debe tener incorporados como reflejos, explicando qué hacen, por qué importan y cuándo usarlos en situaciones reales.

Desde liberar caché de RAM hasta rastrear conexiones de red, gestionar servicios con systemd o diagnosticar cuellos de botella en disco — todo con ejemplos prácticos y salida real.

// Índice de contenidos
  • 01 — Memoria RAM y Caché
  • 02 — Gestión de Procesos
  • 03 — Almacenamiento y Disco
  • 04 — Red y Conectividad
  • 05 — Servicios con Systemd
  • 06 — Logs y Diagnóstico
  • 07 — Usuarios y Permisos
  • 08 — Rendimiento del Sistema
  • 09 — Archivos y Búsqueda
  • 10 — Comandos de Emergencia
MÓDULO_01

Memoria RAM y Caché

Linux gestiona la RAM de forma agresiva: usa la memoria libre como caché de disco (page cache) para acelerar operaciones. Esto es normal y deseable. Sin embargo, en entornos con poca memoria o después de operaciones pesadas, puedes necesitar inspeccionarla o liberarla manualmente.

Inspeccionar el uso de memoria

bash — estado de memoria en tiempo real
# Vista rápida y legible (human-readable)
free -h

# Vista detallada con totales y periodicidad cada 2 segundos
free -h -s 2

# Información completa del kernel sobre memoria
cat /proc/meminfo

# Solo campos clave de /proc/meminfo
grep -E 'MemTotal|MemFree|MemAvailable|Cached|SwapTotal|SwapFree' /proc/meminfo
salida de free -h
total used free shared buff/cache available Mem: 15Gi 3.2Gi 8.4Gi 312Mi 3.8Gi 11Gi Swap: 2.0Gi 0B 2.0Gi
La columna available es la que realmente importa — estima cuánta memoria puedes usar sin necesidad de swap. free es engañosamente baja porque incluye solo memoria literalmente vacía, no el caché reutilizable.

Liberar caché de memoria RAM

bash — liberar page cache y buffers
# Paso 1: sincronizar escrituras pendientes al disco
sync

# Paso 2: liberar page cache solamente
echo 1 | sudo tee /proc/sys/vm/drop_caches

# Paso 2 alternativo: liberar dentries e inodes también
echo 2 | sudo tee /proc/sys/vm/drop_caches

# Paso 2 alternativo: liberar TODO (page cache + dentries + inodes)
echo 3 | sudo tee /proc/sys/vm/drop_caches
Liberar caché tiene un coste de rendimiento temporal: el sistema deberá releer desde disco lo que tenía en caché. Solo hazlo si realmente necesitas memoria libre inmediata. En uso normal, Linux administra esto automáticamente mejor que cualquier acción manual.

Gestión de Swap

bash — inspección y control de swap
# Ver dispositivos swap activos y uso
swapon --show

# Estadísticas detalladas de swap
cat /proc/swaps

# Desactivar swap completamente (libera swap hacia RAM)
sudo swapoff -a

# Reactivar swap desde /etc/fstab
sudo swapon -a

# Ajustar swappiness (0=menos swap, 100=más agresivo)
# Valor recomendado para desktop con bastante RAM: 10
sudo sysctl vm.swappiness=10

# Ver valor actual de swappiness
cat /proc/sys/vm/swappiness
Para hacer permanente el valor de swappiness, agrega vm.swappiness=10 al archivo /etc/sysctl.conf y ejecuta sudo sysctl -p para aplicarlo sin reiniciar.

Identificar qué procesos consumen más RAM

bash — top 10 procesos por uso de memoria
# Procesos ordenados por memoria (columna %MEM), top 10
ps aux --sort=-%mem | head -11

# Memoria real (RSS) de cada proceso, ordenada
ps -eo pid,ppid,cmd,%mem,rss --sort=-%mem | head -15

# smem: memoria real sin contar shared libraries dos veces
sudo apt install smem
smem -r -s pss | head -15
MÓDULO_02

Gestión de Procesos

Controlar procesos es una de las habilidades más críticas en administración de sistemas. Desde inspeccionar qué corre en tu máquina hasta matar procesos colgados o ajustar prioridades de CPU.

Herramientas de monitoreo interactivo

top
Monitor clásico del kernel. Pulsa M para ordenar por memoria, P por CPU, k para matar un proceso por PID, q para salir.
htop
Versión mejorada con colores y árbol de procesos. Instalar con sudo apt install htop. Usa F5 para árbol, F9 para señales.
btop
Monitor moderno con gráficas de CPU, memoria, red y disco. Instalar con sudo apt install btop. Interfaz completamente interactiva.
atop
Registra actividad histórica del sistema. Útil para diagnóstico post-mortem. Instalar con sudo apt install atop.

Inspección y control de procesos

bash — gestión de procesos
# Listar todos los procesos con detalle
ps aux

# Árbol de procesos (ver jerarquía padre-hijo)
pstree -p

# Buscar proceso por nombre
pgrep -la firefox

# Ver proceso específico por PID
ps -p 1234 -o pid,ppid,cmd,%cpu,%mem,etime

# Matar proceso por nombre (envía SIGTERM primero)
pkill firefox

# Forzar terminación (SIGKILL — último recurso)
pkill -9 firefox

# Matar por PID específico
kill -SIGTERM 1234
kill -9 1234   # forzado

# Matar todos los procesos de un usuario
sudo pkill -u nombreusuario

Prioridades de CPU con nice y renice

bash — ajustar prioridad de procesos
# Ejecutar un comando con baja prioridad (nice va de -20 a 19)
# Valor alto = menor prioridad; -20 = máxima prioridad (root)
nice -n 15 tar -czf backup.tar.gz /home/

# Cambiar prioridad de un proceso ya en ejecución
sudo renice -n -5 -p 1234

# Cambiar prioridad de todos los procesos de un usuario
sudo renice 10 -u alejandro

# Ver prioridades (NI = nice value, PR = prioridad real)
ps -eo pid,ni,pri,cmd --sort=ni | head -20

Procesos en segundo plano

bash — background jobs
# Enviar proceso al background
comando &

# Ver jobs en background de la sesión actual
jobs -l

# Traer al foreground el job número 1
fg %1

# Suspender el proceso activo (Ctrl+Z) y mandarlo al background
# Ctrl+Z para suspender
bg %1

# Ejecutar comando que sobrevive al cierre del terminal
nohup python3 script.py > salida.log 2>&1 &

# Usar disown para desligar un job existente del shell
disown %1
MÓDULO_03

Almacenamiento y Disco

El espacio en disco y la salud de los dispositivos de almacenamiento son críticos. Desde ver cuánto espacio queda hasta identificar qué directorio está consumiendo gigabytes inesperados.

Espacio en disco

bash — inspección de almacenamiento
# Ver espacio en todas las particiones montadas
df -h

# Incluir tipo de sistema de archivos
df -hT

# Ver uso de inodos (útil si el disco "está lleno" sin razón obvia)
df -i

# Tamaño de un directorio específico
du -sh /var/log

# Top 10 directorios más grandes en /
du -h --max-depth=1 / 2>/dev/null | sort -rh | head -11

# Buscar los archivos más grandes en el sistema
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null | sort -k5 -rh | head -15

# ncdu: navegador interactivo de uso de disco (recomendado)
sudo apt install ncdu
ncdu /
ncdu es la herramienta más eficiente para encontrar qué está ocupando espacio. Navega directorios con las flechas, entra con Enter y sale con q. Mucho más rápido que du manual.

Limpieza de espacio

bash — liberar espacio en disco
# Limpiar paquetes descargados por apt (caché de paquetes)
sudo apt clean

# Eliminar solo paquetes obsoletos del caché
sudo apt autoclean

# Eliminar dependencias huérfanas (ya no necesarias)
sudo apt autoremove --purge

# Ver tamaño del caché de apt antes de limpiar
du -sh /var/cache/apt/archives/

# Limpiar logs del journal de systemd (mantener solo últimos 7 días)
sudo journalctl --vacuum-time=7d

# Limpiar logs del journal limitando tamaño total
sudo journalctl --vacuum-size=200M

# Ver cuánto ocupa el journal actualmente
journalctl --disk-usage

# Eliminar kernels viejos (cuidado: mantén al menos el actual)
sudo apt autoremove --purge linux-image-*-old

Salud del disco con S.M.A.R.T.

bash — diagnóstico de hardware de almacenamiento
# Instalar smartmontools
sudo apt install smartmontools

# Estado general del disco (reemplaza sda por tu dispositivo)
sudo smartctl -H /dev/sda

# Informe completo S.M.A.R.T.
sudo smartctl -a /dev/sda

# Listar todos los dispositivos de bloque
lsblk

# Con información de sistema de archivos y tamaño
lsblk -f

# Velocidad de lectura del disco (benchmark rápido)
sudo hdparm -tT /dev/sda

# Para NVMe SSD
sudo apt install nvme-cli
sudo nvme smart-log /dev/nvme0

Montar y desmontar dispositivos

bash — gestión de puntos de montaje
# Ver todos los dispositivos montados
mount | grep -v tmpfs

# Montar una partición manualmente
sudo mount /dev/sdb1 /mnt/datos

# Desmontar
sudo umount /mnt/datos

# Ver UUID de dispositivos (útil para /etc/fstab)
blkid
MÓDULO_04

Red y Conectividad

Diagnosticar problemas de red, ver conexiones activas, monitorear tráfico y configurar interfaces son tareas cotidianas. Debian 13 usa el stack de herramientas moderno ip (de iproute2) en lugar del obsoleto ifconfig.

Inspección de interfaces y conectividad

bash — herramientas de red modernas
# Ver todas las interfaces de red con IPs
ip addr
ip a   # forma corta

# Ver tabla de enrutamiento
ip route
ip route show default   # ver gateway por defecto

# Estado detallado de una interfaz específica
ip link show eth0

# Activar/desactivar interfaz
sudo ip link set eth0 up
sudo ip link set eth0 down

# Ping con número limitado de paquetes
ping -c 4 8.8.8.8

# Traceroute con IP (ver ruta de paquetes)
traceroute debian.org
mtr debian.org   # versión interactiva combinada

# Resolver DNS manualmente
dig debian.org
dig +short debian.org   # solo IPs
nslookup debian.org

Conexiones activas y puertos

bash — monitoreo de conexiones y puertos
# Ver puertos en escucha (ss reemplaza a netstat)
ss -tlnp   # TCP, listening, numérico, con proceso
ss -ulnp   # UDP
ss -tlnp -4   # solo IPv4

# Ver todas las conexiones establecidas
ss -tnp state established

# Equivalente con netstat (si está instalado)
sudo apt install net-tools
netstat -tlnp

# Ver qué proceso usa un puerto específico
sudo ss -tlnp sport = :80
sudo lsof -i :80

# Ver estadísticas de red por interfaz
ip -s link
cat /proc/net/dev

Monitoreo de tráfico en tiempo real

bash — ancho de banda y tráfico
# nload: gráfica de tráfico por interfaz
sudo apt install nload
nload eth0

# iftop: monitor interactivo estilo top para red
sudo apt install iftop
sudo iftop -i eth0

# nethogs: ancho de banda por proceso
sudo apt install nethogs
sudo nethogs eth0

# Captura de paquetes con tcpdump
sudo tcpdump -i eth0 -n -c 50   # 50 paquetes
sudo tcpdump -i eth0 port 443   # solo HTTPS

Transferencia de archivos desde terminal

bash — descarga y transferencia
# Descargar archivo
wget https://ejemplo.com/archivo.tar.gz
curl -O https://ejemplo.com/archivo.tar.gz

# Copiar archivos por SSH (scp)
scp archivo.txt usuario@servidor:/ruta/destino/
scp -r directorio/ usuario@servidor:/ruta/destino/

# rsync: sincronización eficiente (solo transfiere cambios)
rsync -avz --progress origen/ usuario@servidor:/destino/

# rsync local: copia inteligente de directorios
rsync -avz /home/alejandro/ /backup/alejandro/
MÓDULO_05

Servicios con Systemd

Debian 13 usa systemd como sistema de inicio. Comprender systemctl y journalctl es fundamental para administrar servicios, depurar arranques lentos y gestionar el sistema de forma profesional.

Control de servicios

bash — systemctl
# Estado de un servicio
systemctl status nginx

# Iniciar / detener / reiniciar
sudo systemctl start   nginx
sudo systemctl stop    nginx
sudo systemctl restart nginx

# Recargar configuración sin reiniciar el proceso
sudo systemctl reload nginx

# Habilitar/deshabilitar inicio automático con el sistema
sudo systemctl enable  nginx
sudo systemctl disable nginx

# Enmascarar servicio (impedir que sea iniciado por cualquier medio)
sudo systemctl mask   bluetooth
sudo systemctl unmask bluetooth

# Listar todos los servicios y su estado
systemctl list-units --type=service
systemctl list-units --type=service --state=failed

# Ver servicios habilitados en el arranque
systemctl list-unit-files --type=service --state=enabled

Diagnóstico de arranque

bash — analizar velocidad de arranque
# Ver tiempo total de arranque
systemd-analyze

# Ver los servicios que más tardan en arrancar
systemd-analyze blame

# Generar gráfica SVG del arranque
systemd-analyze plot > boot-graph.svg

# Ver dependencias críticas del arranque
systemd-analyze critical-chain

# Verificar salud general de systemd
systemctl --failed
ejemplo de systemd-analyze
Startup finished in 3.204s (firmware) + 1.072s (loader) + 2.891s (kernel) + 4.125s (userspace) = 11.293s graphical.target reached after 4.087s in userspace.

Gestión de targets y runlevels

bash — targets de systemd
# Ver el target actual (equivalente a runlevel)
systemctl get-default

# Cambiar target por defecto (ej: arrancar sin GUI)
sudo systemctl set-default multi-user.target   # sin GUI
sudo systemctl set-default graphical.target     # con GUI

# Cambiar de target en caliente (sin reiniciar)
sudo systemctl isolate multi-user.target

# Apagar / reiniciar el sistema correctamente
sudo systemctl poweroff
sudo systemctl reboot
sudo systemctl suspend   # suspender a RAM
sudo systemctl hibernate # hibernar a disco
MÓDULO_06

Logs y Diagnóstico

Leer logs de forma efectiva es lo que separa a un usuario avanzado de uno intermedio. journalctl centraliza todos los logs del sistema en Debian 13 con Systemd.

journalctl — el centro de logs

bash — lectura de logs del sistema
# Ver logs en tiempo real (equivale a tail -f /var/log/syslog)
journalctl -f

# Logs desde el último arranque
journalctl -b

# Logs del arranque anterior
journalctl -b -1

# Logs de un servicio específico
journalctl -u nginx
journalctl -u nginx -f   # en tiempo real

# Solo errores y mensajes críticos
journalctl -p err
journalctl -p crit

# Logs de los últimos 30 minutos
journalctl --since "30 minutes ago"

# Logs entre fechas específicas
journalctl --since "2025-01-01 10:00" --until "2025-01-01 11:00"

# Buscar patrón en logs
journalctl -b | grep -i "error\|fail\|warn"

# Logs del kernel (equivale a dmesg)
journalctl -k
dmesg --level=err,warn -T   # con timestamps legibles

Archivos de log tradicionales

Archivo Contenido
/var/log/syslog Log general del sistema (mensajes de servicios y kernel)
/var/log/auth.log Autenticaciones, sudo, SSH, intentos de acceso fallidos
/var/log/dpkg.log Historial de instalaciones y desinstalaciones de paquetes
/var/log/apt/history.log Historial de comandos apt ejecutados
/var/log/kern.log Mensajes del kernel de Linux
/var/log/Xorg.0.log Log del servidor de display (si usas X11)
~/.local/share/sddm/wayland-session.log Log de sesión Wayland (KDE Plasma)
MÓDULO_07

Usuarios y Permisos

Gestión de usuarios y grupos

bash — usuarios y grupos
# Ver usuario actual y grupos a los que pertenece
whoami
id
groups

# Listar todos los usuarios del sistema
cat /etc/passwd | cut -d: -f1
getent passwd | grep -v nologin   # solo usuarios con shell

# Crear usuario nuevo
sudo adduser nuevo_usuario

# Agregar usuario a un grupo (ej: sudo, docker, audio)
sudo usermod -aG sudo nuevo_usuario
sudo usermod -aG docker,audio,video alejandro

# Ver usuarios conectados actualmente
who
w   # con más detalle (actividad, idle time)

# Historial de inicios de sesión
last | head -20
lastlog   # último acceso de todos los usuarios

Permisos de archivos

bash — chmod, chown, umask
# Ver permisos en formato detallado
ls -la /ruta/al/archivo
stat archivo.txt

# Cambiar permisos (notación octal)
# 7=rwx, 6=rw-, 5=r-x, 4=r--, 0=---
chmod 755 script.sh   # rwxr-xr-x
chmod 644 config.cfg  # rw-r--r--
chmod 600 clave.pem   # rw------- (solo propietario)

# Cambiar permisos de forma recursiva
chmod -R 755 directorio/

# Notación simbólica
chmod u+x script.sh   # añadir ejecución al usuario
chmod o-r privado.txt # quitar lectura a otros
chmod a+r publico.txt # lectura para todos

# Cambiar propietario y grupo
sudo chown alejandro:alejandro archivo.txt
sudo chown -R www-data:www-data /var/www/

# Ver y cambiar umask (permisos por defecto al crear archivos)
umask
umask 022   # archivos: 644, directorios: 755

sudo y escalada de privilegios

bash — sudo
# Ver qué puede hacer tu usuario con sudo
sudo -l

# Ejecutar shell como root temporalmente
sudo -i   # shell interactivo de root
sudo -s   # shell de root con entorno actual

# Ejecutar comando como otro usuario
sudo -u www-data whoami

# Ver intentos fallidos de sudo
grep 'sudo' /var/log/auth.log | grep FAILED

# Editar sudoers de forma segura
sudo visudo
MÓDULO_08

Rendimiento del Sistema

CPU y carga del sistema

bash — monitoreo de CPU y carga
# Ver load average (promedio de carga últimos 1/5/15 minutos)
uptime

# Información de CPUs (núcleos, frecuencias, caché)
lscpu

# Uso de CPU en tiempo real por núcleo
mpstat -P ALL 1   # necesita: sudo apt install sysstat

# Estadísticas de CPU, E/S y más cada segundo
vmstat 1

# iostat: estadísticas de disco y CPU
iostat -x 1

# Frecuencia actual de la CPU (util en laptops)
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq

# Temperatura del CPU (necesita lm-sensors)
sudo apt install lm-sensors
sudo sensors-detect   # detectar sensores (solo primera vez)
sensors               # ver temperaturas

# Información completa del hardware
sudo lshw -short
inxi -Fxz   # necesita: sudo apt install inxi

Monitoreo avanzado con sar

bash — sysstat / sar
# sar: System Activity Reporter — registra rendimiento histórico
sudo apt install sysstat

# Habilitar recolección automática
sudo systemctl enable sysstat
sudo systemctl start sysstat

# Ver uso de CPU de las últimas horas
sar -u

# Ver uso de memoria histórico
sar -r

# Ver actividad de disco
sar -d

# Ver estadísticas de red
sar -n DEV

# strace: rastrear llamadas al sistema de un proceso
# Útil para diagnosticar procesos bloqueados o lentos
sudo strace -p 1234   # adjuntarse a proceso existente
strace ls /tmp         # rastrear comando nuevo

Optimizar rendimiento del kernel

bash — parámetros de kernel con sysctl
# Ver todos los parámetros del kernel
sysctl -a

# Parámetros de red útiles para mejorar rendimiento
sudo sysctl net.core.rmem_max=16777216
sudo sysctl net.core.wmem_max=16777216

# Reducir uso de swap (recomendado para SSD con mucha RAM)
sudo sysctl vm.swappiness=10

# Presión de caché del VFS (recomendado para SSD)
sudo sysctl vm.vfs_cache_pressure=50

# Ver cambios sin reiniciar
sudo sysctl -p /etc/sysctl.conf
MÓDULO_09

Archivos y Búsqueda

Búsqueda eficiente

bash — find, locate, grep
# find: búsqueda por nombre
find /home -name "*.py"

# Archivos modificados en las últimas 24 horas
find /etc -mtime -1

# Archivos con permisos específicos
find / -perm -4000 -type f 2>/dev/null   # SUID bits

# Ejecutar acción en resultados de find
find /tmp -name "*.tmp" -delete

# locate: búsqueda instantánea desde base de datos
sudo apt install mlocate
sudo updatedb   # actualizar la base de datos
locate config.ini
locate -i readme   # sin distinción mayúsculas

# grep: buscar contenido dentro de archivos
grep -r "password" /etc/ 2>/dev/null
grep -rn -i "error" /var/log/   # con número de línea
grep -l "TODO" *.py   # solo nombres de archivos

# ripgrep: grep moderno, mucho más rápido
sudo apt install ripgrep
rg "def main" /home/alejandro/proyectos/

Compresión y archivos

bash — tar, zip, gzip
# Crear archivo tar comprimido con gzip
tar -czf backup.tar.gz /home/alejandro/

# Extraer
tar -xzf backup.tar.gz
tar -xzf backup.tar.gz -C /destino/

# Ver contenido sin extraer
tar -tzf backup.tar.gz

# Compresión con bzip2 (mejor ratio, más lento)
tar -cjf backup.tar.bz2 directorio/

# Compresión con zstd (excelente balance velocidad/ratio)
tar --zstd -cf backup.tar.zst directorio/

# Zip / Unzip
zip -r archivo.zip directorio/
unzip archivo.zip -d /destino/
MÓDULO_10

Comandos de Emergencia

Estos son los comandos que necesitas cuando el sistema está en estado crítico: GUI colgada, proceso sin respuesta, sistema irresponsivo o disco lleno.

Sistema irresponsivo

bash — recuperación de emergencia
# Matar proceso por nombre de forma segura
pkill -SIGTERM proceso   # primero intentar graceful
pkill -9 proceso          # si no responde, forzar

# OOM Killer: forzar liberación de memoria matando el mayor proceso
# Ver qué proceso tiene más memoria
ps aux --sort=-%mem | head

# Terminar sesión de X / Wayland (mata el servidor gráfico)
# En X11: Ctrl+Alt+Backspace (si está habilitado)
# Desde TTY (Ctrl+Alt+F2):
sudo pkill -9 -t tty2   # matar todo lo de la tty2

# Magic SysRq — reinicio de emergencia seguro del kernel
# Alt+SysRq + R, E, I, S, U, B  (REISUB)
# R: retomar teclado | E: SIGTERM todo | I: SIGKILL todo
# S: sync disco | U: remount read-only | B: reboot
# Habilitar SysRq:
echo 1 | sudo tee /proc/sys/kernel/sysrq
La secuencia Alt+SysRq+REISUB es el "reinicio seguro de emergencia" de Linux. Es mejor que un apagado forzado porque sincroniza el disco antes de reiniciar, reduciendo el riesgo de corrupción de datos. Memorízala como "Raising Elephants Is So Utterly Boring".

Diagnóstico rápido de sistema

bash — checklist de diagnóstico
# ¿Cuánto tiempo lleva encendido?
uptime

# ¿Hay espacio en disco?
df -h | grep -v tmpfs

# ¿Hay servicios fallidos?
systemctl --failed

# ¿Hay errores en el kernel?
dmesg --level=err -T | tail -20

# ¿Qué proceso consume más CPU/RAM en este momento?
ps aux --sort=-%cpu | head -6
ps aux --sort=-%mem | head -6

# ¿Hay conexiones sospechosas abiertas?
ss -tnp state established

# Resumen general del sistema en un comando
inxi -Fxz   # sudo apt install inxi

Recuperar contraseña de root

bash — single user mode (recovery)
# Al arrancar: en GRUB, editar la entrada del kernel
# Añadir al final de la línea linux: "single" o "init=/bin/bash"
# Una vez en el shell de root:

# Montar el sistema de archivos en modo escritura
mount -o remount,rw /

# Cambiar contraseña de root
passwd root

# Sincronizar y reiniciar
sync
exec /sbin/init
Para proteger este vector de acceso, puedes proteger el GRUB con contraseña usando grub-mkpasswd-pbkdf2 y configurándolo en /etc/grub.d/40_custom.
— · — · — · — · — · —
RESUMEN

Referencia Rápida

Los comandos más utilizados en el día a día, organizados por categoría:

Memoria
free -h · estado de RAM
echo 3 | sudo tee /proc/sys/vm/drop_caches · limpiar caché
ps aux --sort=-%mem | head · top por RAM
Procesos
htop / btop · monitor interactivo
pkill -9 nombre · matar proceso
nice -n 15 cmd · baja prioridad
Disco
df -h · espacio en particiones
ncdu / · navegador de disco
sudo apt autoremove --purge · limpiar
Red
ip a · interfaces
ss -tlnp · puertos en escucha
sudo nethogs eth0 · tráfico por proceso
Servicios
systemctl status servicio
systemctl --failed · ver fallos
systemd-analyze blame · boot lento
Logs
journalctl -f · tiempo real
journalctl -b -p err · errores del boot
dmesg -T --level=err · kernel