Cheat List Sysadmin
Contents
- 1 Actualización y gestión de paquetes
- 2 Conexiones SSH y administración remota
- 3 Gestión de usuarios y grupos
- 4 Red y conectividad
- 4.1 Ver IPs de todas las interfaces
- 4.2 Ver configuración de red resumida
- 4.3 Mostrar la ruta por defecto (gateway)
- 4.4 Hacer ping a una IP o dominio
- 4.5 Ver tabla de enrutamiento
- 4.6 Mostrar conexiones de red y puertos abiertos
- 4.7 Ver estado de todas las interfaces
- 4.8 Descargar un archivo
- 4.9 Probar velocidad de conexión (requiere speedtest-cli)
- 5 Servicios y systemd
- 6 Monitoreo de sistema
- 7 Discos, particiones y montaje
- 8 Limpieza del sistema
- 9 Procesos
- 10 Logs y auditoría
- 11 Consultar logs de Docker
- 12 Seguridad
- 13 Tip extra: algunos alias útiles para sysadmins
Actualización y gestión de paquetes
Actualizar la lista de paquetes
sudo apt update
Actualizar todos los paquetes instalados
sudo apt upgrade -y
Actualización completa del sistema
sudo apt full-upgrade -y
Instalar un paquete
sudo apt install nombre_paquete
Eliminar un paquete
sudo apt remove nombre_paquete
Eliminar un paquete y sus configuraciones
sudo apt purge nombre_paquete
Limpiar paquetes innecesarios
sudo apt autoremove
Conexiones SSH y administración remota
Conexión básica a un servidor remoto
ssh usuario@ip_o_dominio
Especificar puerto diferente (no 22)
ssh -p 2222 usuario@ip_o_dominio
Copiar archivos con servidores/pcs
Enviar archivo local al servidor:
scp archivo.txt usuario@ip:/ruta/destino
Copiar archivo del servidor a tu máquina:
scp usuario@ip:/ruta/archivo.txt ./carpeta_local
Copiar carpetas completas
scp -r carpeta/ usuario@ip:/ruta/destino
Reenviar puertos (túneles SSH)
Acceder a servicios remotos como si fueran locales:
ssh -L puerto_local:localhost:puerto_remoto usuario@ip
Gestión de usuarios y grupos
Crear un nuevo usuario
sudo adduser nombre_usuario
Agregar usuario a un grupo
sudo usermod -aG nombre_grupo nombre_usuario
Cambiar la contraseña de un usuario
sudo passwd nombre_usuario
Crear un nuevo grupo
sudo addgroup nombre_grupo
Ver grupos de un usuario
groups nombre_usuario
Eliminar un usuario
sudo deluser nombre_usuario
Eliminar un grupo
sudo delgroup nombre_grupo
Red y conectividad
Ver IPs de todas las interfaces
ip addr
Ver configuración de red resumida
ip a
Mostrar la ruta por defecto (gateway)
ip route
Hacer ping a una IP o dominio
ping -c 4 ejemplo.com
Ver tabla de enrutamiento
route -n
Mostrar conexiones de red y puertos abiertos
ss -tuln
Ver estado de todas las interfaces
ip link show
Descargar un archivo
wget URL
Probar velocidad de conexión (requiere speedtest-cli)
speedtest
Servicios y systemd
Ver estado de un servicio
sudo systemctl status nombre_servicio
Iniciar un servicio
sudo systemctl start nombre_servicio
Detener un servicio
sudo systemctl stop nombre_servicio
Reiniciar un servicio
sudo systemctl restart nombre_servicio
Habilitar servicio al arranque
sudo systemctl enable nombre_servicio
Deshabilitar servicio al arranque
sudo systemctl disable nombre_servicio
Ver todos los servicios activos
systemctl list-units --type=service
Monitoreo de sistema
Uso de CPU, memoria y procesos en tiempo real
top
Versión mejorada de top
htop
Mostrar uso de disco
df -h
Ver uso de disco por carpetas
du -sh *
Ver información general del sistema
uname -a
Mostrar uptime (tiempo encendido)
uptime
Ver memoria RAM usada/libre
free -h
Monitorear carga del sistema
cat /proc/loadavg
Discos, particiones y montaje
Ver discos y particiones
lsblk
Mostrar todas las particiones disponibles
fdisk -l
Ver sistemas de archivos montados
mount | column -t
Montar una partición
sudo mount /dev/sdX1 /mnt
Desmontar una partición
sudo umount /mnt
Revisar el sistema de archivos
sudo fsck /dev/sdX1
Mostrar uso del disco en una carpeta
du -sh /ruta
Limpieza del sistema
Borrar caché de apt
sudo apt clean
Limpiar paquetes descargados que ya no se necesitan
sudo apt autoclean
Encontrar archivos grandes
sudo find / -type f -size +100M
Limpiar todo lo que no este usando docker
sudo docker system prune -a
Procesos
Ver procesos corriendo
ps aux
Buscar un proceso específico
ps aux | grep nombre_proceso
Matar un proceso por PID
sudo kill PID
Matar un proceso por nombre
sudo pkill nombre_proceso
Reiniciar un proceso por nombre
sudo systemctl restart nombre_servicio
Logs y auditoría
Ver registros del sistema
sudo journalctl
Ver logs en tiempo real
sudo journalctl -f
Ver logs de un servicio específico
sudo journalctl -u nombre_servicio
Consultar el archivo syslog
sudo less /var/log/syslog
Consultar logs de autenticación
sudo less /var/log/auth.log
Consultar logs de Docker
sudo docker logs -f id-contenedor
Seguridad
Ver usuarios conectados
w
Ver intentos de conexión fallidos
sudo less /var/log/auth.log
Actualizar listas de fail2ban (si está instalado)
sudo fail2ban-client status
Cambiar permisos de un archivo
chmod 644 archivo
Cambiar propietario de un archivo
sudo chown usuario:grupo archivo
Instalar actualizaciones de seguridad rápidamente
sudo unattended-upgrades
Tip extra: algunos alias útiles para sysadmins
Un alias en Linux es simplemente un atajo de teclado para comandos más largos o complejos.
En vez de tener que escribir comandos enteros cada vez, defines un alias corto que ejecuta automáticamente el comando que quieras.
alias ll='ls -lah'
ls -lah
→ Lista todos los archivos y carpetas (incluyendo ocultos), mostrando detalles como permisos, tamaño y fecha, en un formato amigable (h = human-readable).
ll
→ Un atajo rápido para no tener que escribir todo eso.
alias update='sudo apt update && sudo apt upgrade -y'
Actualiza primero la lista de paquetes (apt update
) y luego actualiza todos los paquetes instalados (apt upgrade -y
), todo en un solo paso.
El -y
responde automáticamente “yes” a todas las preguntas.
alias rebootnow='sudo reboot now'
sudo reboot now
reinicia inmediatamente el sistema.
alias ports='ss -tuln'
ss
es una herramienta moderna para ver conexiones de red y puertos abiertos (reemplazo de netstat
).
-tuln
muestra:
t
: TCPu
: UDPl
: Puertos en escucha (LISTEN)n
: No resuelve nombres de host (más rápido)
alias dockps='docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"'
Muestra los contenedores de Docker en ejecución (docker ps
) pero en un formato de tabla más limpio:
{{.Names}}
→ nombre del contenedor{{.Status}}
→ estado (Up, Exited, etc.){{.Ports}}
→ puertos expuestos