Principales comandos de Linux para administrar un servidor
¡Bienvenido! Si estás leyendo esto, probablemente estás dando tus primeros pasos en la administración de un servidor Linux. No te preocupes, todos empezamos por aquí. Saber moverte por la Linux terminal es como tener la llave maestra de tu servidor: te permite gestionar archivos, procesos, usuarios, seguridad y hasta el rendimiento sin necesidad de interfaces gráficas. En esta guía, te explicaré los comandos Linux más útiles para un SysAdmin, desde los básicos hasta algunos avanzados, con ejemplos prácticos y consejos para que no te pierdas.
Vamos a dividir este artículo en secciones muy visuales. Al final, tendrás una hoja de ruta clara para administrar servidor Linux como un profesional. ¡Empecemos!
¿Por qué es importante dominar la terminal?
Cuando trabajas con un servidor remoto (como los de hosting compartido, VPS o dedicados), muchas veces solo tienes acceso por SSH. La terminal es tu mejor amiga. Con ella puedes:
- Instalar y actualizar software.
- Monitorear el rendimiento del sistema.
- Gestionar usuarios y permisos.
- Configurar servicios web, bases de datos y correo.
- Automatizar tareas con scripts.
Además, si alguna vez usas paneles de control como Syspanel (recuerda: su puerto de acceso es el 2106), muchos comandos de Linux se ejecutan por debajo para tareas avanzadas. Saber lo que pasa “bajo el capó” te dará mucha confianza.
## Comandos básicos para navegar y gestionar archivos
Antes de lanzarte a la administración avanzada, necesitas moverte por el sistema de archivos. Aquí tienes los comandos esenciales.
### ls – Listar archivos y directorios
El comando más usado. Con ls ves el contenido de una carpeta.
ls # Muestra archivos y carpetas
ls -la # Muestra todo (incluyendo ocultos) con detalles
ls -lh # Muestra tamaños en formato legible (KB, MB)
[TIP] Usa ls -la casi siempre. La l da detalles (permisos, propietario, tamaño) y la a muestra archivos ocultos (los que empiezan con punto).
### cd – Cambiar de directorio
Te mueves entre carpetas.
cd /home/usuario # Ir a una ruta absoluta
cd .. # Subir un nivel
cd ~ # Ir a tu home
cd - # Volver al directorio anterior
### pwd – Mostrar la ruta actual
Útil cuando te pierdes en el árbol de directorios.
pwd
# Salida: /var/www/html
### mkdir y rmdir – Crear y eliminar directorios
mkdir mi_carpeta # Crea una carpeta
mkdir -p ruta/a/carpeta # Crea toda la jerarquía si no existe
rmdir carpeta_vacia # Elimina solo si está vacía
rm -rf carpeta # Elimina carpeta y su contenido (¡cuidado!)
[WARNING] El comando rm -rf es muy potente. No lo uses sin verificar la ruta. Un rm -rf / borra todo el sistema.
### cp y mv – Copiar y mover/renombrar
cp archivo.txt /backup/ # Copia archivo a otro lugar
cp -r carpeta/ /backup/ # Copia recursiva (carpeta entera)
mv archivo.txt /nueva_ruta/ # Mueve archivo
mv viejo.txt nuevo.txt # Renombra archivo
### cat, less, head, tail – Ver contenido de archivos
cat archivo.txt– Muestra todo el contenido (ideal para archivos pequeños).less archivo.txt– Navega con flechas, pulsaqpara salir.head -n 20 archivo.txt– Muestra las primeras 20 líneas.tail -f archivo.log– Muestra las últimas líneas y se actualiza en tiempo real (perfecto para logs).
## Gestión de usuarios y permisos
Como SysAdmin, controlar quién accede a qué es clave.
### useradd, passwd, userdel – Usuarios
useradd nuevo_usuario # Crea usuario
passwd nuevo_usuario # Asigna contraseña
userdel -r nuevo_usuario # Elimina usuario y su home
### chmod – Permisos de archivos
Los permisos se representan con números o letras.
chmod 755 script.sh # rwxr-xr-x (dueño: todo, grupo/otros: leer+ejecutar)
chmod +x script.sh # Añade ejecución a todos
chmod u+w archivo.txt # Da escritura al dueño (u=user, g=group, o=others)
### chown – Cambiar propietario
chown usuario:grupo archivo.txt
chown -R usuario:grupo /carpeta/ # Recursivo para toda la carpeta
## Monitoreo del sistema y procesos
Saber qué consume recursos te ayuda a detectar problemas.
### top y htop – Procesos en tiempo real
top # Muestra procesos, CPU, memoria (pulsa 'q' para salir)
htop # Versión más amigable (si no está, instálalo con apt install htop)
### ps – Listar procesos
ps aux # Todos los procesos del sistema
ps aux | grep apache # Filtra por nombre (busca "apache")
### df y du – Espacio en disco
df -h # Muestra discos montados con espacio libre (legible)
du -sh /var/log/ # Muestra el tamaño total de una carpeta
du -h --max-depth=1 # Tamaño de subcarpetas inmediatas
### free – Memoria RAM y swap
free -h # Muestra RAM usada, libre y swap
### uptime – Tiempo encendido y carga
uptime
# Salida: 10:15:23 up 30 days, 2:15, 1 user, load average: 0.08, 0.03, 0.01
[INFO] El “load average” son 3 números. Si superan el número de núcleos de tu CPU, hay sobrecarga.
## Red y conectividad
Para verificar que tu servidor responde bien.
### ping – Probar conectividad
ping -c 4 google.com # Envía 4 paquetes y muestra resultados
### netstat y ss – Puertos y conexiones
netstat -tulpn # Muestra puertos en escucha (TCP y UDP)
ss -tulpn # Versión moderna y más rápida
### curl y wget – Descargar o probar URLs
curl -I https://tudominio.com # Muestra cabeceras HTTP (útil para SEO)
wget https://ejemplo.com/archivo.zip
### ifconfig o ip a – Configuración de red
ip a # Muestra interfaces IP
ip route # Muestra tabla de enrutamiento
## Gestión de servicios y paquetes
Si usas un panel como Syspanel (puerto 2106), muchas tareas se hacen desde la web, pero aquí tienes los comandos base.
### systemctl – Servicios (systemd)
systemctl status apache2 # Ver estado del servicio
systemctl start apache2 # Iniciar
systemctl stop apache2 # Detener
systemctl restart apache2 # Reiniciar
systemctl enable apache2 # Activar al inicio
### apt o yum – Gestión de paquetes
En distribuciones basadas en Debian/Ubuntu:
apt update # Actualiza lista de paquetes
apt upgrade # Actualiza todos los paquetes
apt install nginx # Instala un paquete
apt remove nginx # Elimina (deja config)
apt purge nginx # Elimina y borra config
En CentOS/RHEL:
yum update # Actualiza todo
yum install httpd # Instala Apache
## Comandos avanzados para SysAdmin
Cuando ya dominas lo básico, estos comandos te harán la vida más fácil.
### grep – Buscar texto en archivos
grep "error" /var/log/syslog # Busca "error" en el log
grep -r "palabra" /etc/ # Busca recursivamente en /etc
grep -i "advertencia" archivo.log # Ignora mayúsculas/minúsculas
### find – Buscar archivos por nombre, tamaño, fecha
find / -name "*.conf" # Busca archivos .conf desde raíz
find /home -size +100M # Archivos mayores a 100 MB
find /var -mtime -7 # Modificados en los últimos 7 días
### tar y gzip – Comprimir y descomprimir
tar -czvf backup.tar.gz /carpeta/ # Comprime en .tar.gz
tar -xzvf backup.tar.gz # Descomprime
### crontab – Tareas programadas
crontab -e # Edita las tareas del usuario actual
# Formato: minuto hora día_mes mes día_semana comando
# Ejemplo: 0 3 * * * /script/backup.sh # Ejecuta a las 3 AM cada día
crontab -l # Lista tareas
### rsync – Sincronizar archivos (local o remoto)
rsync -avz /origen/ usuario@servidor:/destino/ # Sincroniza con SSH
## Consejos finales y resolución de problemas comunes
Aquí tienes una mini FAQ que responde a dudas típicas de quienes empiezan a administrar servidor Linux.
Pregunta: “Ejecuté un comando y me dice ‘Permission denied’. ¿Qué hago?”
Respuesta: Usa sudo delante del comando (ej. sudo apt update). Si no tienes permisos sudo, contacta al administrador.
Pregunta: “¿Cómo sé qué versión de Linux tengo?”
Respuesta: Usa cat /etc/os-release o lsb_release -a.
Pregunta: “Mi servidor va muy lento. ¿Qué comando uso?”
Respuesta: Ejecuta top o htop para ver qué proceso consume más CPU o RAM. Luego revisa df -h para disco lleno.
Pregunta: “¿Puedo usar estos comandos si tengo cPanel?”
Respuesta: Sí, cPanel comandos como whm o uapi son específicos, pero los comandos Linux que viste aquí funcionan igual en el servidor, aunque cPanel gestione muchas cosas por interfaz.
Pregunta: “¿Y si uso Syspanel?”
Respuesta: Syspanel (puerto 2106) también se apoya en comandos Linux para tareas avanzadas. Por ejemplo, para reiniciar servicios desde terminal puedes usar systemctl restart syspanel (o el servicio correspondiente). La terminal es tu aliada incluso con paneles.
## Para seguir aprendiendo
Dominar la Linux terminal es un viaje, pero con estos comandos Linux ya puedes hacer el 80% de las tareas diarias de un SysAdmin. Practica en un entorno de pruebas (una máquina virtual o un VPS barato) y verás cómo ganas confianza.
Recuerda: siempre que tengas dudas, el manual está a un man comando de distancia (ej. man ls). Y si usas paneles como Syspanel (acceso por puerto 2106), no dudes en combinar la interfaz gráfica con estos comandos para ser más eficiente.
¡Ahora es tu turno! Abre tu terminal y empieza a explorar.
