Sysadmin

Comandos Linux: 20 Esenciales para Sysadmins 2026

Los comandos linux sysadmin esenciales son tu única salvación cuando un servidor se cuelga en producción y no tienes una GUI disponible. Te permiten diagnosticar una incidencia, limpiar un disco lleno o rastrear un ataque en segundos, directamente desde la shell. Con la presión del cumplimiento normativo como NIS2 art.21, diagnosticar un incidente de seguridad de inmediato no es un lujo, es un requisito legal.

Cuando tuve que limpiar un filesystem lleno al 99% en un cluster que gestiona 2000 estaciones de trabajo para una organización sanitaria pública, no tenía tiempo para abrir un file manager. Conocer los comandos correctos de memoria marcó la diferencia entre un downtime de 5 minutos y uno de 2 horas. El 78% de los profesionales IT usa Linux diariamente como entorno de trabajo primario (Stack Overflow Developer Survey 2025), y el 60% del tiempo de un sysadmin se gasta en troubleshooting y mantenimiento (SRE Report 2025). Aquí tienes los 20 comandos que debes conocer de memoria.

| Categoría | Comandos clave | Uso principal |

|—|—|—|

| Navegación | find, locate, tree | Encontrar archivos y mapear directorios |

| Texto | grep, sed, awk | Filtrar y transformar salida |

| Procesos | ps, kill, lsof | Gestionar recursos y puertos |

| Red | curl, wget, netstat | Probar conectividad y puertos |

| Diagnóstico | dmesg, journalctl | Leer logs de sistema |

Requisitos Previos / Entorno de Prueba

Necesitas un terminal Bash, acceso SSH al servidor y un usuario con privilegios sudo. Todos los comandos funcionan en las distribuciones principales (Ubuntu, Debian, RHEL, AlmaLinux). Pruébalos siempre en un entorno no crítico antes de usarlos en producción. Una VM en Proxmox sirve perfectamente para esto.

Navegación y Filesystem

Encontrar archivos en un filesystem con millones de nodos requiere precisión. ls y cd ya los conoces, pero el trabajo real lo hacen otros.

El comando find es la navaja suiza de la búsqueda. Busca por nombre, fecha de modificación o tamaño.

# Encuentra archivos de log con más de 30 días y elimínalos
find /var/log -name "*.log" -mtime +30 -type f -exec rm -f {} \;

# Combina find con xargs para procesar miles de archivos sin saturar la memoria
find /tmp -type f -name "*.tmp" -print0 | xargs -0 rm -f

locate es más rápido que find porque usa una base de datos preindexada, pero recuerda actualizarla con sudo updatedb. tree -L 2 te da un mapa visual del directorio a dos niveles de profundidad.

Texto y Búsqueda

Los logs del sistema son minas de oro, pero debes saber cómo filtrar miles de líneas por segundo. grep filtra la salida. sed modifica el texto en streaming. awk procesa datos estructurados por columnas.

# Extrae solo las direcciones IP del log de acceso y elimina duplicados
grep -oE '\b([0-9]{1,3}\.){3}[0-9]{1,3}\b' /var/log/auth.log | sort -u

# Usa sed para reemplazar un puerto de escucha en un archivo de configuración
sed -i 's/Port 22/Port 2222/g' /etc/ssh/sshd_config

# Usa awk para calcular el tamaño total de los archivos listados por ls -l
ls -l | awk '{sum += $5} END {print sum/1024/1024 " MB"}'

Añade tail -f para seguir un log en tiempo real mientras reproduces un error. cut y sort completan la caja de herramientas. Usa diff para comparar dos archivos de configuración antes y después de un cambio. tee te permite ver la salida en pantalla y guardarla en un archivo al mismo tiempo: cat config.yml | tee backup_config.yml.

Procesos y Recursos

Un proceso zombie o una aplicación que consume toda la CPU puede bloquear un servidor en minutos. Cuando monitorizo instancias Oracle, un proceso descontrolado puede bloquear los tablespace en segundos.

ps aux muestra todos los procesos en ejecución. Añade --sort=-%mem para ver quién consume más RAM o --sort=-%cpu para la CPU.

# Encuentra los procesos que consumen más RAM
ps aux --sort=-%mem | head -n 10

# Fuerza la detención de un proceso rebelde
kill -9 12345

# Descubre exactamente qué proceso mantiene ocupado el puerto 8080
lsof -i :8080

top y htop ofrecen una vista dinámica, pero en scripting ps es insustituible. Usa nice y renice para bajar la prioridad de procesos batch que no deben interferir con el tráfico en producción. nohup lanza un comando que sobrevive al cierre del terminal. Finalmente, usa watch para repetir un comando a intervalos regulares: watch -n 2 'ps aux | grep myapp' actualiza el estado cada 2 segundos.

Red y Conectividad

Verificar si un servicio es alcanzable o si un firewall FortiGate está bloqueando el tráfico es rutina diaria. ss es el nuevo estándar para inspeccionar sockets, pero netstat sigue siendo muy utilizado.

# Lista todas las conexiones TCP en escucha con el proceso asociado
netstat -tlnp

# Recupera el header HTTP de un sitio para diagnosticar redirecciones o errores
curl -I https://dodoo.it

# Descarga un archivo de backup desde un servidor remoto
wget https://ejemplo.com/backup.tar.gz

traceroute mapea la ruta de los paquetes para entender dónde se interrumpe la comunicación en la red.

Disco y Almacenamiento

El problema número uno en los servidores descuidados es el disco lleno. Un filesystem al 100% detiene las bases de datos y hace fallar las aplicaciones. En entornos Oracle, un filesystem lleno en el área de archivelog detiene la base de datos por completo.

df -h muestra el espacio disponible. du -sh * | sort -h encuentra la carpeta que está devorando los gigabytes.

# Encuentra los 10 directorios más pesados en la raíz
du -sh /* | sort -hr | head -n 10

lsblk mapea los discos y las particiones lógicas. fdisk -l muestra los detalles crudos de los dispositivos de bloque. Si añades un nuevo disco virtual en VMware o Proxmox, estos dos comandos te confirman que el kernel lo ha reconocido.

Errores Comunes y Resolución de Problemas

El error más frecuente es lanzar kill -9 al azar esperando resolver el problema. Matar el proceso equivocado en producción puede empeorar la situación. Usa primero ps aux para confirmar el PID.

Otro error clásico es usar grep en archivos binarios o logs rotados y comprimidos. Si necesitas buscar dentro de un .gz, usa zgrep en lugar de descomprimir todo.

Por último, olvidar xargs cuando se procesan demasiados archivos. Si find devuelve miles de resultados, el comando siguiente podría fallar por el límite de argumentos. xargs divide la entrada en lotes seguros.

Preguntas Frecuentes sobre Comandos Linux

¿Cuál es la diferencia entre find y locate?

find busca en tiempo real en el disco y siempre está actualizado, pero es más lento en filesystems enormes. locate usa una base de datos indexada, es rapidísimo, pero no encuentra archivos creados después del último updatedb. Usa locate para búsquedas rápidas, find para precisión.

¿Qué hacer cuando un comando Linux no responde?

Pulsa Ctrl+Z para pausarlo, luego lanza kill -9 %1 para terminarlo. Si toda la shell está bloqueada, abre otra sesión SSH, encuentra el PID con ps aux | grep nombrescript y fuerza la detención con kill -9.

¿Por qué usar rsync en lugar de cp o scp?

rsync copia solo las diferencias entre origen y destino. Si transfieres 10 GB y la conexión cae, reanudas desde el punto de interrupción. scp empieza de cero. Además rsync preserva permisos, ownership y timestamps.

¿Cómo encontrar archivos borrados que siguen ocupando espacio?

Ejecuta lsof | grep deleted. Si un proceso tiene un archivo abierto que ya fue borrado, el espacio en disco no se libera hasta que cierres ese proceso con kill.

Conclusiones con Puntos Clave Operativos

Dominar los comandos linux sysadmin esenciales no es un ejercicio académico. Es una necesidad operativa. Cuando un servidor falla a las 3 de la mañana, tu memoria muscular es la única herramienta que funciona sin red.

Tres puntos clave para aplicar de inmediato:

  1. Automatiza operaciones repetitivas con alias y scripts bash mínimos.
  2. Usa tail -f y journalctl -f para observar los logs en tiempo real durante los cambios.
  3. Aprende a combinar comandos con pipes (|) y xargs para resolver problemas complejos en una sola línea.

La práctica constante es la única forma de fijar estos comandos. Crea una VM, rómpela y repárala usando solo el terminal. Para la documentación oficial sobre los comandos GNU Coreutils, consulta https://www.gnu.org/software/coreutils/manual/.

Lee también: Fail2ban on Linux: Complete Setup and SSH Hardening

Comparte este artículo:

Escrito por

Rosario Giordano

Rosario Giordano es administrador de sistemas y consultor de TI especializado en c iberseguridad y cloud, con más de 20 años de experiencia en la gestión de infraestructuras Linux empresariales. Sus áreas de especialización incluyen el hardening de SSH, plataformas Kubernetes , bases de datos PostgreSQL, virtualización con VMware/Proxmox y el cumplimiento de los marcos de seguridad NIS2 e ISO 27001.