linux
Comandos Linux

Administrar un servidor Linux no significa memorizar cientos de comandos. Significa conocer los comandos correctos para conectarte, revisar el estado del sistema, administrar usuarios, controlar servicios, leer logs, comprobar red, instalar paquetes, revisar disco y actuar con cuidado cuando algo falla.

Un servidor Linux puede alojar páginas web, bases de datos, aplicaciones empresariales, servicios de correo, VPN, backups, contenedores, sistemas de monitoreo o plataformas internas. Por eso, antes de instalar herramientas avanzadas, conviene dominar una base mínima de comandos que todo administrador debe conocer.

Idea clave: el buen administrador Linux no ejecuta comandos al azar. Primero observa, luego interpreta y recién después aplica cambios.

1. SSH: conectarte al servidor de forma remota

El primer comando que debes dominar es ssh. Permite conectarte de forma remota a un servidor Linux desde otra computadora.

Terminal Linux
ssh usuario@IP_DEL_SERVIDOR

Si el servidor usa un puerto SSH diferente al 22:

Terminal Linux
ssh -p 2222 usuario@IP_DEL_SERVIDOR

Consejo: en servidores reales es recomendable usar llaves SSH, desactivar accesos innecesarios y evitar trabajar directamente como root salvo casos justificados.

2. pwd, ls y cd: moverte dentro del sistema

Estos comandos parecen básicos, pero son esenciales para no perderte dentro del servidor.

Comando Para qué sirve
pwd Muestra la ruta actual.
ls Lista archivos y carpetas.
cd Cambia de directorio.
Terminal Linux
pwd
ls -lah
cd /var/log
cd /etc
cd ~

3. cat, less, tail y grep: leer archivos y buscar errores

En servidores Linux, muchos problemas se diagnostican leyendo archivos de configuración y logs. Estos comandos son indispensables.

Terminal Linux
cat archivo.txt
less /var/log/syslog
tail -n 100 /var/log/syslog
tail -f /var/log/syslog
grep "error" /var/log/syslog

tail -f es especialmente útil porque permite ver un archivo de log en tiempo real mientras ocurre un error o se reinicia un servicio.

4. sudo: ejecutar tareas administrativas con control

sudo permite ejecutar comandos con privilegios administrativos sin iniciar sesión directamente como root.

Terminal Linux
sudo comando
sudo apt update
sudo systemctl restart nginx

Cuidado: no ejecutes comandos con sudo si no entiendes qué hacen. En servidores, un error con privilegios administrativos puede afectar servicios, archivos o usuarios.

5. apt, dnf y pacman: instalar y actualizar paquetes

El gestor de paquetes depende de la distribución. En servidores Debian y Ubuntu se usa apt. En Fedora, AlmaLinux, Rocky Linux o RHEL se usa dnf. En Arch, Manjaro o CachyOS se usa pacman.

Distribución Actualizar sistema
Debian / Ubuntu sudo apt update && sudo apt upgrade
Fedora / AlmaLinux / Rocky sudo dnf upgrade
Arch / Manjaro / CachyOS sudo pacman -Syu
Debian / Ubuntu
sudo apt update
sudo apt upgrade
sudo apt install nginx
sudo apt remove paquete

6. systemctl: administrar servicios del servidor

En muchos servidores modernos, systemctl se usa para revisar, iniciar, detener, reiniciar y habilitar servicios.

Servicios con systemctl
sudo systemctl status nginx
sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl restart nginx
sudo systemctl enable nginx
sudo systemctl disable nginx

Ejemplos de servicios comunes:

Servicios comunes
sudo systemctl status ssh
sudo systemctl status apache2
sudo systemctl status nginx
sudo systemctl status mariadb
sudo systemctl status postgresql

7. journalctl: revisar logs de servicios

Cuando un servicio falla, journalctl ayuda a revisar eventos registrados por systemd. Es una herramienta clave para diagnosticar errores.

Logs con journalctl
journalctl -xe
journalctl -u nginx
journalctl -u ssh
journalctl -u nginx -f
journalctl --since "1 hour ago"

Una rutina útil cuando un servicio falla es:

Diagnóstico básico
sudo systemctl status nginx
journalctl -u nginx --since "30 minutes ago"

8. ps, top, htop y kill: revisar procesos

Los procesos son programas en ejecución. Si un servidor está lento, consume mucha memoria o tiene CPU alta, estos comandos ayudan a identificar qué ocurre.

Procesos
ps aux
top
htop
ps aux | grep nginx

Para terminar un proceso, primero identifica su PID:

Finalizar proceso
kill PID
kill -9 PID

Consejo: usa kill -9 solo cuando el proceso no responde. Primero intenta detenerlo de forma normal con systemctl stop servicio si pertenece a un servicio.

9. free, df, du y lsblk: memoria, disco y particiones

Muchos incidentes de servidores aparecen por falta de memoria, disco lleno o particiones mal dimensionadas.

Recursos del sistema
free -h
df -h
du -sh /var/log
du -sh /home/*
lsblk
Comando Uso principal
free -h Ver memoria RAM y swap.
df -h Ver espacio usado por sistemas de archivos.
du -sh Medir cuánto ocupa una carpeta.
lsblk Listar discos, particiones y puntos de montaje.

10. ip, ping, ss y curl: red y conectividad

Un administrador de servidores debe saber diagnosticar red. Estos comandos ayudan a revisar IP, rutas, puertos y respuestas HTTP.

Red en Linux
ip a
ip route
ping -c 4 8.8.8.8
ss -tulpen
curl -I https://example.com

Para revisar si un servicio está escuchando en un puerto:

Puertos abiertos
sudo ss -tulpen | grep :80
sudo ss -tulpen | grep :443
sudo ss -tulpen | grep :22

11. chmod, chown y chgrp: permisos y propietarios

Los permisos mal configurados pueden romper una aplicación o exponer información sensible. Estos comandos deben usarse con cuidado.

Permisos
ls -lah
sudo chmod 644 archivo.conf
sudo chmod 755 carpeta
sudo chown usuario:grupo archivo
sudo chown -R www-data:www-data /var/www/sitio

Evita: usar chmod 777 como solución rápida. Puede abrir permisos excesivos y generar riesgos de seguridad.

12. useradd, passwd y usermod: gestión de usuarios

Administrar usuarios es una tarea básica en servidores. Debes poder crear cuentas, cambiar contraseñas y asignar grupos.

Usuarios
sudo adduser nuevo_usuario
sudo passwd nuevo_usuario
sudo usermod -aG sudo nuevo_usuario
id nuevo_usuario
who
w

En distribuciones tipo RHEL, el grupo administrativo puede ser wheel en lugar de sudo:

RHEL / AlmaLinux / Rocky
sudo usermod -aG wheel nuevo_usuario

13. cp, mv, rm, mkdir y touch: archivos y carpetas

Estos comandos permiten crear, copiar, mover y eliminar archivos. Son básicos, pero también pueden causar daños si se usan sin cuidado.

Archivos y carpetas
mkdir respaldo
touch archivo.txt
cp archivo.txt respaldo/
mv archivo.txt archivo-renombrado.txt
rm archivo-renombrado.txt

Cuidado: antes de eliminar archivos importantes, verifica la ruta con pwd y ls. En servidores, borrar el archivo equivocado puede interrumpir un servicio.

14. tar, gzip, rsync, scp y sftp: copias y transferencias

Administrar servidores implica mover archivos, hacer copias y respaldar configuraciones.

Comprimir y respaldar
tar -czvf backup-etc.tar.gz /etc
tar -xzvf backup-etc.tar.gz

Copiar archivos entre servidores:

Transferencia segura
scp archivo.txt usuario@IP_DEL_SERVIDOR:/ruta/destino/
sftp usuario@IP_DEL_SERVIDOR
rsync -avz carpeta/ usuario@IP_DEL_SERVIDOR:/ruta/destino/

15. crontab: programar tareas

crontab permite programar tareas repetitivas, como backups, limpieza de logs, sincronizaciones o scripts de mantenimiento.

Crontab
crontab -l
crontab -e

Ejemplo para ejecutar un script todos los días a las 2:00 a. m.:

Ejemplo crontab
0 2 * * * /usr/local/bin/backup.sh

Rutina diaria de revisión de un servidor Linux

Una rutina simple puede ayudarte a detectar problemas antes de que afecten a los usuarios.

  1. Conectarse por SSH.
  2. Revisar uso de disco con df -h.
  3. Revisar memoria con free -h.
  4. Revisar carga y procesos con top o htop.
  5. Revisar servicios críticos con systemctl status.
  6. Revisar logs recientes con journalctl.
  7. Comprobar puertos con ss -tulpen.
  8. Verificar actualizaciones pendientes.
  9. Comprobar que los backups se estén generando.

Checklist de comandos mínimos que debes dominar

Área Comandos esenciales
Acceso remoto ssh, scp, sftp
Archivos pwd, ls, cd, cp, mv, rm, mkdir, touch
Texto y logs cat, less, tail, grep, journalctl
Servicios systemctl
Procesos ps, top, htop, kill
Disco y memoria df, du, free, lsblk
Red ip, ping, ss, curl
Usuarios y permisos sudo, adduser, passwd, usermod, chmod, chown
Paquetes apt, dnf, pacman
Backups y tareas tar, rsync, crontab

Errores comunes al administrar servidores Linux

Evita estos errores

  • Ejecutar comandos como root sin necesidad.
  • Copiar comandos de Internet sin entenderlos.
  • No revisar logs antes de reiniciar servicios.
  • No hacer backup antes de modificar archivos críticos.
  • Usar permisos excesivos como chmod 777.
  • No monitorear disco hasta que se llena completamente.
  • No documentar cambios realizados en el servidor.
  • No verificar si los backups realmente se pueden restaurar.
  • No actualizar paquetes de seguridad.

Preguntas clave


¿Qué comando debo aprender primero para administrar un servidor Linux?

Empieza por ssh, porque es la puerta de entrada para administrar servidores remotos. Luego aprende ls, cd, cat, systemctl, journalctl, df, free e ip.

¿Qué comando sirve para ver si un servicio está funcionando?

Usa systemctl status nombre-servicio. Por ejemplo: sudo systemctl status nginx.

¿Cómo veo los errores de un servicio?

Usa journalctl -u nombre-servicio. Por ejemplo: journalctl -u nginx.

¿Cómo sé si el servidor se quedó sin disco?

Usa df -h para ver el espacio disponible y du -sh carpeta para encontrar carpetas grandes.

¿Cómo veo qué puertos están abiertos?

Usa ss -tulpen. Este comando ayuda a revisar servicios escuchando en red.

¿Cuál es el error más peligroso para principiantes?

Ejecutar comandos con sudo sin entenderlos, cambiar permisos de forma masiva o borrar archivos del sistema sin backup.

¿Necesito aprender todos los comandos de Linux?

No. Primero domina los comandos esenciales para archivos, red, procesos, servicios, logs, usuarios, permisos y backups. Luego aprende según el tipo de servidor que administres.

Recomendamos

En resumen

Los comandos básicos para administrar un servidor Linux se agrupan en tareas concretas: conectarse por SSH, moverse por archivos, revisar logs, administrar servicios, monitorear procesos, controlar disco y memoria, revisar red, gestionar usuarios, ajustar permisos, instalar paquetes y programar tareas.

No hace falta aprender todo el universo Linux desde el primer día. Lo importante es dominar una base operativa y practicar en un laboratorio antes de tocar servidores críticos.

Conclusión editorial

Un servidor Linux se administra con método: observar, revisar logs, medir recursos, aplicar cambios controlados y documentar. Los comandos son importantes, pero el criterio del administrador es lo que realmente mantiene estable el servicio.

 

Fuente: somoslibres