13 abril, 2025

Cheat List Sysadmin

Contents

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: TCP
  • u: UDP
  • l: 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