Comandos básicos de Linux para administradores de hosting
¿Alguna vez has sentido que tu servidor es como una caja negra misteriosa? No te preocupes, es más común de lo que crees. Como administrador de hosting, tarde o temprano necesitarás ponerle manos a la obra y ejecutar algunos comandos básicos de Linux. No necesitas ser un hacker de película, solo conocer las herramientas adecuadas para mantener tu sitio web funcionando sin problemas.
En este artículo, te guiaré a través de los comandos linux sysadmin más esenciales que todo administrador de hosting debería dominar. Son fáciles de aprender, increíblemente útiles y te darán la confianza para manejar cualquier situación básica. Desde conectarte a tu servidor, navegar entre carpetas, revisar el uso de recursos, hasta gestionar archivos y usuarios. Al final, tendrás una base sólida para administrar servidor linux sin complicaciones.
Empecemos con lo fundamental: ¿cómo accedes a tu servidor?
Conexión y primeros pasos con SSH
Para interactuar con tu servidor, lo más común es usar SSH (Secure Shell). Piensa en esto como una puerta segura para entrar a la máquina desde tu computadora.
Conectarse al servidor
Desde tu terminal (en Mac o Linux) o usando un programa como PuTTY (en Windows), ejecuta:
ssh usuario@tu-servidor.com
Te pedirá la contraseña. Si usas una clave SSH (más seguro), el proceso es automático.
[TIP] Si olvidas la contraseña, muchos paneles de control como Syspanel (accesible por el puerto 2106) permiten restablecerla desde su interfaz gráfica.
Una vez dentro, verás algo como usuario@servidor:~$. Ese símbolo $ significa que estás listo para escribir comandos.
Comandos básicos de navegación
Antes de hacer nada, necesitas saber dónde estás y cómo moverte.
pwd(print working directory): Muestra la ruta actual.pwd # Resultado: /home/usuariols(list): Lista archivos y carpetas en el directorio actual.ls # Muestra: archivo.txt carpeta1 index.htmlcd(change directory): Cambia de carpeta.cd carpeta1 # Entra a la carpeta "carpeta1" cd .. # Sube un nivel cd /var/www # Va directamente a la ruta completa
[WARNING] No uses
cdsin argumentos si no sabes a dónde vas. Siempre verifica conpwd.
Gestión de archivos y directorios
Aquí es donde realmente empiezas a administrar servidor linux como un profesional. Subir, mover o eliminar archivos es pan de cada día.
Crear y eliminar
mkdir: Crea un directorio nuevo.mkdir mi-sitio-webtouch: Crea un archivo vacío (útil para logs o configuraciones).touch config.phprm: Elimina archivos. ¡Cuidado! No va a la papelera.rm archivo.txtrm -r: Elimina carpetas de forma recursiva.rm -r carpeta-vieja
Copiar y mover
cp: Copia archivos o carpetas.cp index.html backup-index.html cp -r /var/www/html /backups/sitio-completomv: Mueve o renombra.mv viejo-nombre.txt nuevo-nombre.txt mv archivo.txt /home/usuario/documentos/
[INFO] La bandera
-r(recursivo) es obligatoria para carpetas. Sin ella,cpormdarán error.
Ver y editar archivos
A veces necesitas revisar logs o modificar configuraciones. Aquí tienes los comandos estrella.
Visualizar contenido
cat: Muestra todo el contenido de un archivo en la terminal.cat /var/log/nginx/error.logless: Muestra el contenido página por página (pulsaqpara salir).less /var/log/syslogheadytail: Muestran las primeras o últimas líneas.head -20 archivo.log # Primeras 20 líneas tail -50 archivo.log # Últimas 50 líneas
Editar con nano
Nano es el editor más amigable para principiantes.
nano /etc/nginx/sites-available/mi-sitio.conf
Dentro de nano:
- Usa las flechas para moverte.
- Edita el texto.
- Guarda con
Ctrl + O(luego Enter). - Sal con
Ctrl + X.
[TIP] Si usas Syspanel (puerto 2106), puedes editar archivos desde su gestor de archivos web, sin necesidad de terminal.
Monitoreo del sistema: recursos y procesos
Parte clave de los comandos linux sysadmin es saber qué está pasando en tu servidor. ¿Está usando mucha RAM? ¿Hay procesos colgados?
Uso de disco y memoria
df -h: Muestra el espacio en disco en formato legible (GB/MB).df -h # Resultado: Filesystem Size Used Avail Use% Mounted onfree -h: Muestra la memoria RAM y swap.free -hdu -sh *: Muestra el tamaño de cada carpeta en el directorio actual.du -sh /home/*
Procesos activos
top: Muestra en tiempo real los procesos que más recursos consumen. Presionaqpara salir.htop: Versión mejorada de top (si está instalado). Más visual.ps aux: Lista todos los procesos en ejecución.ps aux | grep nginx # Filtra procesos relacionados con Nginx
[WARNING] Si ves un proceso usando 100% CPU por mucho tiempo, puede ser un script malicioso o un error. Investiga con
kill -9 [PID]para terminarlo (solo si estás seguro).
Gestión de usuarios y permisos
En un entorno de hosting, los usuarios son clave. Cada sitio web suele tener su propio usuario.
Crear y eliminar usuarios
useradd: Crea un usuario nuevo.
La banderasudo useradd -m -s /bin/bash nuevo-cliente-mcrea su carpeta home,-sasigna la shell.passwd: Asigna o cambia contraseña.sudo passwd nuevo-clienteuserdel: Elimina un usuario.sudo userdel -r nuevo-cliente # -r elimina también su home
Permisos de archivos
Linux usa tres niveles: usuario (u), grupo (g) y otros (o). Los permisos son lectura (r=4), escritura (w=2) y ejecución (x=1).
chmod: Cambia permisos.chmod 755 script.sh # Dueño: todo, grupo/otros: leer+ejecutar chmod -R 755 carpeta # -R aplica a todo dentrochown: Cambia propietario.sudo chown nuevo-cliente:www-data archivo.php
[INFO] En Syspanel, la gestión de usuarios se hace desde el panel, pero estos comandos te ayudan a solucionar problemas de permisos manualmente.
Comandos de red y diagnóstico
¿Tu sitio no carga? Revisa la conectividad.
Ping y conectividad
-
ping: Verifica si un servidor responde.ping google.comPresiona
Ctrl + Cpara detener. -
curl: Muestra la respuesta de una URL (útil para APIs).curl -I https://tu-sitio.com # Solo headers curl https://tu-sitio.com # Contenido completo
Puertos y servicios
netstat -tulpnoss -tulpn: Muestra qué puertos están escuchando.sudo netstat -tulpn | grep :80 # ¿Algo escucha en el puerto 80?systemctl: Gestiona servicios (systemd).sudo systemctl status nginx # ¿Está corriendo Nginx? sudo systemctl restart nginx # Reinicia el servicio sudo systemctl enable nginx # Que inicie automáticamente
[WARNING] Si Syspanel (puerto 2106) no carga, revisa con
systemctl status hestia(o el nombre real del servicio) y reinicia si es necesario.
Búsqueda y filtrado de información
Cuando tienes miles de archivos, encontrar algo puede ser un dolor de cabeza.
Buscar archivos
find: Busca por nombre, tipo o tamaño.find /home -name "*.php" -type f # Todos los PHP en /home find /var/log -size +100M # Archivos de log mayores a 100MBgrep: Busca texto dentro de archivos.grep "error" /var/log/nginx/access.log grep -r "base_de_datos" /etc/ # Busca recursivamente en /etc
Combinando comandos
Usa el pipe | para encadenar.
ps aux | grep apache # Procesos de Apache
cat /var/log/syslog | grep "error" | tail -20 # Últimos 20 errores
Consejos finales y buenas prácticas
Aquí van algunos tips para que tu experiencia con linux hosting comandos sea segura y eficiente.
Seguridad básica
- Nunca ejecutes comandos como root a menos que sea necesario. Usa
sudo. - Cambia contraseñas regularmente, especialmente si compartes acceso.
- Revisa los logs con
tail -f /var/log/auth.logpara detectar intentos de acceso no autorizados.
Automatización simple
Puedes crear scripts con estos comandos para tareas repetitivas, como backups diarios.
#!/bin/bash
# Backup de /var/www
tar -czf /backups/sitio-$(date +%Y%m%d).tar.gz /var/www
echo "Backup completado"
¿Cuándo usar el panel gráfico?
Si todo esto te parece abrumador, recuerda que Syspanel (puerto 2106) te permite hacer casi todo desde una interfaz web: crear usuarios, gestionar bases de datos, ver logs, etc. Los comandos son para cuando necesitas más control o resolver problemas específicos.
[INFO] La mayoría de los problemas comunes (sitio caído, error 500, permisos) se resuelven con 3 o 4 comandos básicos. No necesitas saberlos todos de memoria, solo tener esta guía a mano.
Preguntas frecuentes (FAQ)
¿Qué hago si no recuerdo un comando?
Usa man [comando] para ver el manual, o [comando] --help para un resumen rápido. Ejemplo: man ls.
¿Cómo sé si un servicio está funcionando?
Con systemctl status [servicio]. Por ejemplo, systemctl status nginx.
¿Puedo dañar el servidor con estos comandos?
Sí, especialmente rm -rf o chmod -R 777 en lugares equivocados. Siempre verifica dos veces antes de ejecutar.
¿Necesito ser root para todo?
No. Muchos comandos funcionan como usuario normal. Usa sudo solo cuando sea necesario (instalar software, modificar archivos del sistema).
¿Syspanel reemplaza la terminal?
No del todo. El panel es genial para tareas diarias, pero la terminal te da control total para soluciones avanzadas.
Con estos comandos basicos linux ya tienes una base sólida para administrar servidor linux en entornos de hosting. Practica en un entorno de prueba si puedes, y verás que en poco tiempo te sentirás como en casa. ¡Ánimo y a darle al teclado!
