Linux: Comandos básicos de terminal para administrar servidores
¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a sumergirnos en el fascinante mundo de la terminal de Linux, pero no te preocupes, lo haremos paso a paso y con mucho cariño. Si estás empezando a administrar un servidor, ya sea en la nube o en tu propio equipo, dominar estos comandos Linux básicos es como tener la llave maestra de tu casa digital. No necesitas ser un experto en programación; solo curiosidad y ganas de aprender. Vamos allá.
¿Por qué es importante la terminal para un SysAdmin?
Imagina que tu servidor es una nave espacial. La terminal es el panel de control que te permite encender motores, ajustar la ruta o reparar una fuga sin tener que salir al espacio exterior. Al aprender terminal Linux SysAdmin, ganas velocidad, control y, sobre todo, la capacidad de solucionar problemas de forma remota y eficiente. Además, muchos paneles de administración gráficos (como cPanel o nuestro querido Syspanel, que se accede por el puerto 2106) son solo interfaces que ejecutan estos mismos comandos por detrás. Así que, cuanto más sepas, más independiente serás.
Primeros pasos: Conectarse y orientarse
Antes de ejecutar cualquier comando, necesitas acceder a tu servidor. Lo más común es usar SSH (Secure Shell). Desde tu computadora (Windows, Mac o Linux), abre una terminal y escribe:
ssh usuario@direccion-ip-del-servidor
Te pedirá una contraseña. Una vez dentro, verás algo como usuario@servidor:~$. Ese ~ significa que estás en tu carpeta de inicio (home). ¡Ya estás listo!
[TIP] Si usas Windows, puedes instalar "Windows Terminal" o usar PowerShell. En Mac y Linux, la terminal viene de serie.
Comandos esenciales para navegar por el sistema de archivos
1. pwd – ¿Dónde estoy?
Este comando imprime la ruta completa del directorio actual. Es tu GPS personal.
pwd
# Salida: /home/usuario
2. ls – Listar archivos y carpetas
Te muestra lo que hay en el directorio actual. Úsalo con opciones para ver más detalles.
ls # Lista básica
ls -l # Lista detallada (permisos, tamaño, fecha)
ls -la # Incluye archivos ocultos (los que empiezan con .)
3. cd – Cambiar de directorio
Navega entre carpetas como si fueran pisos de un edificio.
cd /var/www/html # Ir a una ruta absoluta
cd .. # Subir un nivel (al directorio padre)
cd ~ # Volver a tu carpeta de inicio
cd - # Ir al último directorio donde estabas
4. mkdir y rmdir – Crear y eliminar directorios
Organiza tu espacio.
mkdir proyectos # Crea una carpeta llamada "proyectos"
rmdir proyectos # Elimina la carpeta (solo si está vacía)
[WARNING] Ten cuidado con
rmdiry más adelante conrm. No hay papelera en la terminal. Una vez borrado, se pierde para siempre.
Manipulación de archivos: crear, copiar, mover y eliminar
5. touch – Crear un archivo vacío
Útil para generar logs o archivos de configuración rápidamente.
touch index.html
6. cp – Copiar archivos o directorios
Copia de seguridad o duplicados.
cp index.html index_backup.html
cp -r carpeta_origen/ carpeta_destino/ # -r para copiar carpetas recursivamente
7. mv – Mover o renombrar
Funciona como cortar y pegar.
mv index.html /var/www/html/ # Mueve el archivo a otra carpeta
mv viejo_nombre.txt nuevo_nombre.txt # Renombra el archivo
8. rm – Eliminar archivos y carpetas
Úsalo con mucho respeto.
rm archivo.txt
rm -r carpeta/ # Elimina la carpeta y todo su contenido
rm -rf carpeta/ # Forza la eliminación sin preguntar (¡peligroso!)
[INFO] La opción
-rfes como una motosierra. No la uses si no estás 100% seguro de lo que estás borrando.
Visualización y edición rápida de archivos
9. cat – Ver el contenido de un archivo
Perfecto para archivos pequeños.
cat /etc/hostname
10. less – Ver archivos largos con paginación
Navega hacia arriba y abajo con las flechas. Sal con q.
less /var/log/syslog
11. nano – Editor de texto básico en terminal
Si necesitas modificar un archivo al vuelo, nano es tu amigo.
nano /etc/nginx/nginx.conf
Dentro de nano: usa Ctrl+O para guardar, Ctrl+X para salir.
[TIP] Si prefieres algo más potente, aprende
vim, pero para empezarnanoes más intuitivo.
Gestión de permisos y propietarios
12. chmod – Cambiar permisos de archivos
Los permisos se expresan con números (por ejemplo, 755) o letras (rwx).
chmod 755 script.sh # Dueño: todo, Grupo y otros: leer y ejecutar
chmod u+x archivo.sh # Añadir permiso de ejecución al dueño (u)
13. chown – Cambiar propietario de archivos
Muy útil cuando instalas aplicaciones web.
sudo chown www-data:www-data /var/www/html/ # Cambia dueño y grupo
sudo chown -R usuario:grupo /ruta/ # -R para carpetas y su interior
[WARNING] Usa
sudoantes de comandos que requieran permisos de superusuario. Sin él, te dará error de permisos.
Monitoreo del sistema y procesos
14. top o htop – Ver procesos en tiempo real
Muestra qué está consumiendo CPU, memoria, etc.
top
Si tienes htop instalado, es más amigable (instálalo con sudo apt install htop).
15. ps – Listar procesos activos
Combinado con grep (lo veremos luego) es muy poderoso.
ps aux # Muestra todos los procesos del sistema
ps aux | grep apache # Filtra los que contengan "apache"
16. kill – Terminar un proceso
Si un programa se cuelga, puedes matarlo con su PID (número de proceso).
kill 1234 # Envía señal de terminación
kill -9 1234 # Forzar terminación (último recurso)
Red y conectividad
17. ping – Probar conectividad con otro servidor
¿Tu servidor llega a Google?
ping google.com
Presiona Ctrl+C para detenerlo.
18. curl – Hacer peticiones HTTP desde la terminal
Ideal para probar APIs o descargar archivos.
curl https://ejemplo.com
curl -O https://ejemplo.com/archivo.zip # Descarga el archivo
19. wget – Descargar archivos de internet
Similar a curl, pero más especializado en descargas.
wget https://wordpress.org/latest.zip
20. netstat o ss – Ver puertos y conexiones
¿Qué servicios están escuchando?
ss -tuln # Muestra puertos TCP y UDP en escucha
netstat -tulpn # Alternativa clásica (instala netstat si no lo tienes)
[INFO] Si tu servidor tiene Syspanel (HestiaCP), recuerda que el panel de administración web se accede por el puerto 2106. Puedes verificar que esté activo con
ss -tuln | grep 2106.
Búsqueda y filtrado de información
21. grep – Buscar texto dentro de archivos
Es el comando estrella para encontrar configuraciones o errores.
grep "error" /var/log/nginx/error.log
grep -r "base_de_datos" /etc/ # Búsqueda recursiva en todo /etc
22. find – Buscar archivos por nombre, tamaño o fecha
¿Dónde dejé ese archivo de configuración?
find / -name "wp-config.php" # Busca en todo el sistema
find /var -type f -size +100M # Archivos mayores de 100 MB en /var
23. locate – Buscar archivos rápidamente (requiere base de datos)
Más rápido que find, pero necesita actualizar la base de datos con sudo updatedb.
locate nginx.conf
Gestión de paquetes (instalar, actualizar, eliminar software)
Dependiendo de tu distribución (Debian/Ubuntu o CentOS/RHEL), los comandos varían.
En Debian/Ubuntu (apt)
sudo apt update # Actualiza la lista de paquetes
sudo apt upgrade # Actualiza todos los paquetes instalados
sudo apt install nginx # Instala Nginx
sudo apt remove nginx # Desinstala Nginx
sudo apt autoremove # Limpia dependencias no usadas
En CentOS/RHEL (yum o dnf)
sudo yum update # Actualiza todos los paquetes
sudo yum install httpd # Instala Apache (httpd)
sudo yum remove httpd # Desinstala Apache
[TIP] Siempre ejecuta
updateantes de instalar algo nuevo. Así evitas conflictos de versiones.
Servicios y systemd (iniciar, detener, reiniciar)
La mayoría de servidores modernos usan systemd para gestionar servicios.
24. systemctl – Control de servicios
sudo systemctl start nginx # Inicia Nginx
sudo systemctl stop nginx # Detiene Nginx
sudo systemctl restart nginx # Reinicia Nginx
sudo systemctl status nginx # Ver estado (si está activo, errores, etc.)
sudo systemctl enable nginx # Hace que se inicie automáticamente al arrancar
sudo systemctl disable nginx # Lo quita del inicio automático
Comandos útiles para el día a día del SysAdmin
25. df -h – Espacio en disco
Muestra el uso de los discos en formato legible para humanos.
df -h
26. du -sh – Tamaño de una carpeta
¿Cuánto ocupa tu sitio web?
du -sh /var/www/html
27. free -h – Memoria RAM y swap
Monitorea la memoria disponible.
free -h
28. uptime – ¿Cuánto tiempo lleva encendido el servidor?
Útil para saber si ha habido reinicios recientes.
uptime
29. history – Ver comandos ejecutados
Si olvidaste cómo hiciste algo, revisa tu historial.
history
history | grep nginx # Filtra comandos que contengan "nginx"
Preguntas frecuentes (FAQ)
❓ ¿Qué hago si un comando no se encuentra?
Significa que el paquete no está instalado. Por ejemplo, si htop no funciona, ejecuta sudo apt install htop (o el equivalente en tu distribución).
❓ ¿Cómo salgo de un comando que se ha quedado pillado?
Presiona Ctrl+C para interrumpir la ejecución. Si no funciona, Ctrl+Z lo detiene y luego puedes matar el proceso con kill %1.
❓ ¿Cómo reinicio el servidor de forma segura?
Usa sudo reboot desde la terminal. Asegúrate de que no haya procesos críticos corriendo.
❓ ¿Cómo accedo a Syspanel (HestiaCP)?
Abre tu navegador y escribe https://tu-ip-del-servidor:2106. Recuerda que el puerto es el 2106 y necesitas las credenciales de administrador.
❓ ¿Cómo veo los logs de un servicio?
Los logs suelen estar en /var/log/. Por ejemplo, para Nginx: less /var/log/nginx/error.log. Para el sistema: journalctl -xe (con systemd).
❓ ¿Qué significa "Permission denied"?
Que no tienes permisos para ejecutar esa acción. Prueba añadiendo sudo al inicio del comando.
Consejo final: Practica, practica, practica
La mejor forma de aprender Linux comandos esenciales es usarlos a diario. Crea un servidor de pruebas (puede ser local con VirtualBox o una instancia gratuita en la nube) y juega sin miedo. Romper algo y arreglarlo es la mejor escuela. Y recuerda: siempre que te sientas perdido, el comando man seguido del nombre de otro comando (por ejemplo, man ls) te mostrará el manual de ayuda.
Si en algún momento necesitas gestionar tu servidor web de forma visual, recuerda que Syspanel (HestiaCP) te espera en el puerto 2106, pero ahora ya sabes lo que ocurre detrás de la interfaz. ¡Eres todo un SysAdmin en ciernes!
Espero que esta guía te haya sido útil. Si tienes dudas, ya sabes, aquí estoy para ayudarte. ¡Feliz administración!
