Guía de comandos básicos de Linux para administrar un servidor
¡Hola! Si estás leyendo esto, probablemente acabas de aterrizar en el mundo de la administración de servidores o quieres dejar de depender de un panel gráfico para hacer ciertas tareas. No te preocupes, todos hemos empezado por aquí.
Trabajar con un servidor Linux puede parecer intimidante al principio, pero dominar una veintena de comandos básicos linux cambiará por completo tu experiencia. No necesitas ser un gurú de la programación; solo necesitas lógica y ganas de experimentar (con cuidado).
En esta guía, vamos a dejar de lado el miedo y vamos a abrir la terminal linux paso a paso. Te enseñaré desde cómo moverte entre carpetas hasta cómo reiniciar servicios o comprobar el estado del sistema. Al final, te sentirás mucho más seguro gestionando tu propio linux sysadmin.
Vamos a ello.
¿Por qué aprender la terminal si existen paneles gráficos?
Es una pregunta muy válida. Hoy en día, herramientas como Syspanel (antes conocida como HestiaCP) permiten gestionar dominios, correos y bases de datos desde una interfaz web cómoda y visual. De hecho, si usas Syspanel, recuerda que el puerto de acceso es el 2106 y te facilitará muchísimo la vida para tareas complejas.
Sin embargo, hay situaciones en las que la terminal es insuperable:
- Velocidad: Ejecutar un comando es más rápido que navegar por menús.
- Recursos: Un servidor sin panel gráfico consume menos RAM y CPU.
- Control total: Algunos errores solo se pueden solucionar desde la consola.
- Automatización: Puedes crear scripts para tareas repetitivas.
Piensa en la terminal como el "modo turbo" de tu servidor. No tienes que elegir entre uno u otro; lo ideal es usar ambos. Aprende lo básico para salir de apuros y usa Syspanel para la gestión diaria.
Primeros pasos: Conectarse y entender el prompt
Antes de escribir comandos, necesitas estar dentro del servidor. Normalmente, usarás SSH (Secure Shell) desde tu ordenador local.
En Windows puedes usar PowerShell o un programa como PuTTY. En Mac o Linux, simplemente abre la terminal y escribe:
ssh usuario@tu-servidor.com
Sustituye usuario por tu nombre de usuario (normalmente root o un usuario con permisos) y tu-servidor.com por la IP o dominio del servidor.
Una vez dentro, verás algo similar a esto:
root@servidor:~#
Ese texto es el prompt. Te indica:
root: El usuario con el que has iniciado sesión.servidor: El nombre del equipo.~: La carpeta en la que te encuentras (el símbolo~significa el directorio "home" del usuario).#: Indica que tienes permisos de superusuario (root). Si fuera$, serías un usuario normal.
Regla de oro: No uses root para tareas diarias. Crea un usuario con permisos específicos y usa sudo cuando necesites permisos de administrador.
Navegación y gestión de archivos (Lo más importante)
Estos son los comandos básicos linux que usarás el 80% del tiempo. Dominarlos es esencial para administrar servidor linux con soltura.
1. pwd (Print Working Directory)
¿No sabes dónde estás? Este comando te dice la ruta exacta de tu ubicación actual.
pwd
Salida esperada: /home/admin o /root
2. ls (List)
Lista los archivos y carpetas del directorio actual.
ls→ Lista simple.ls -l→ Lista detallada (permisos, propietario, tamaño, fecha).ls -a→ Muestra archivos ocultos (los que empiezan por.).
[TIP] Combina opciones:
ls -laes la combinación más popular para ver todo con detalle.
3. cd (Change Directory)
Te mueves entre carpetas.
cd /var/www→ Te lleva a la carpetawwwdentro devar.cd ..→ Sube un nivel (va a la carpeta padre).cd ~→ Te lleva a tu carpeta personal.cd -→ Te lleva a la última carpeta en la que estabas.
4. mkdir (Make Directory)
Crea una nueva carpeta.
mkdir mi_proyecto
Crea varias a la vez: mkdir carpeta1 carpeta2 carpeta3
5. touch y nano
touch crea un archivo vacío. nano es un editor de texto que se usa directamente en la terminal.
touch index.html
nano index.html
Dentro de nano, escribe algo y pulsa CTRL + X para salir, Y para confirmar que quieres guardar y Enter para aceptar el nombre del archivo.
6. cp, mv y rm
La santísima trinidad de la gestión de archivos.
cp archivo.txt backup.txt→ Copia un archivo.mv archivo.txt /ruta/destino/→ Mueve un archivo. También se usa para renombrar:mv viejo.txt nuevo.txt.rm archivo.txt→ Elimina un archivo.
[WARNING]
rm -rf carpetaelimina una carpeta y todo su contenido sin preguntar. Úsalo con muchísimo cuidado. Una vez borrado, no hay vuelta atrás.
Permisos y Propietarios: La seguridad del sistema
Linux es un sistema multiusuario. Por eso, controlar quién puede leer, escribir o ejecutar archivos es vital.
7. chmod (Change Mode)
Cambia los permisos de un archivo o carpeta.
Los permisos se representan con números:
- 4 = Lectura (r)
- 2 = Escritura (w)
- 1 = Ejecución (x)
Se agrupan en tres bloques: Usuario (u), Grupo (g) y Otros (o).
Un ejemplo común:
chmod 755 script.sh
Esto da permisos de lectura, escritura y ejecución al propietario (7 = 4+2+1), y solo lectura y ejecución al grupo y a otros (5 = 4+1).
8. chown (Change Owner)
Cambia el propietario de un archivo.
chown usuario:grupo archivo.txt
Es muy útil cuando mueves webs o scripts entre usuarios.
[INFO] Si usas Syspanel para gestionar tus sitios, no necesitas tocar permisos manualmente casi nunca. La interfaz (puerto 2106) lo hace por ti, pero entender
chmodte salvará cuando algo falle.
Gestión de Procesos y Servicios
Tu servidor ejecuta muchos programas a la vez. Saber controlarlos es parte esencial del linux sysadmin.
9. ps (Process Status)
Muestra los procesos en ejecución.
ps aux→ Muestra todos los procesos de todos los usuarios con detalle.ps aux | grep apache→ Filtra para ver solo los procesos de Apache.
10. top o htop
Es un monitor de procesos en tiempo real. Muestra el consumo de CPU, RAM y qué proceso está "comiéndose" los recursos.
top→ Está en todos los sistemas.htop→ Es una versión más bonita y fácil de usar (instálala conapt install htopsi no la tienes).
Para salir de top o htop, pulsa q.
11. systemctl (Control de Servicios)
Es el comando moderno para gestionar servicios (Apache, Nginx, MySQL, etc.).
systemctl status apache2→ Ver el estado de Apache.systemctl start apache2→ Iniciar el servicio.systemctl stop apache2→ Detener el servicio.systemctl restart apache2→ Reiniciar el servicio (muy útil tras cambios de configuración).systemctl enable apache2→ Hacer que se inicie automáticamente al arrancar el sistema.
[TIP] Después de modificar un archivo de configuración de un servicio, siempre debes reiniciarlo con
systemctl restart. Si no lo haces, los cambios no se aplicarán.
Red y Conectividad
No puedes administrar un servidor sin conocer sus herramientas de red.
12. ping
Comprueba si un servidor es accesible.
ping google.com
Pulsa CTRL + C para detenerlo.
13. curl
Descarga contenido o comprueba si un servicio responde.
curl https://miweb.com→ Muestra el código HTML de la web.curl -I https://miweb.com→ Muestra solo las cabeceras HTTP (útil para ver códigos de estado como 200, 301, 404).
14. ss o netstat
Muestra los puertos abiertos y las conexiones activas. Esencial para diagnosticar problemas de seguridad o de servicios.
ss -tlnp
Este comando te muestra qué servicios están escuchando en qué puertos.
Espacio en disco y memoria
15. df (Disk Free)
Muestra el uso del espacio en disco.
df -h
El -h hace que la salida sea legible para humanos (MB, GB).
16. du (Disk Usage)
Muestra el tamaño de archivos y carpetas.
du -sh /var/log
Esto te dirá el tamaño total de la carpeta /var/log.
17. free
Muestra el uso de la memoria RAM.
free -h
Búsqueda de archivos y texto
18. grep
Busca texto dentro de archivos.
grep "error" /var/log/syslog
Esto buscará la palabra "error" en el archivo de log del sistema.
19. find
Busca archivos por nombre, tamaño, fecha, etc.
find / -name "config.php"
Busca un archivo llamado config.php en todo el sistema.
Comandos de administración general
20. apt (Advanced Package Tool)
Es el gestor de paquetes en Debian/Ubuntu. Lo usarás para instalar, actualizar o eliminar software.
apt update→ Actualiza la lista de paquetes disponibles.apt upgrade→ Actualiza los paquetes instalados a sus últimas versiones.apt install nano→ Instala un paquete (en este caso,nano).apt remove nano→ Desinstala un paquete.
[WARNING] Ejecuta
apt updateantes deapt upgrade. Si no, no sabrá qué versiones nuevas hay disponibles.
21. sudo (Super User DO)
Te permite ejecutar comandos como administrador (root) si tu usuario tiene permisos.
sudo apt update
22. tar (Comprimir y extraer)
Esencial para hacer copias de seguridad.
tar -czvf backup.tar.gz /var/www→ Comprime la carpetawwwen un archivo.tar.gz.tar -xzvf backup.tar.gz→ Extrae el archivo comprimido.
Preguntas Frecuentes (FAQ) de Comandos Linux
¿Qué hago si no recuerdo un comando?
Usa man nombre_comando (por ejemplo, man ls) para ver el manual de ayuda. Pulsa q para salir.
¿Cómo cancelo un comando que se ha quedado colgado?
Pulsa CTRL + C. Si no funciona, CTRL + Z lo detiene y lo envía al fondo.
¿Cómo edito un archivo si no tengo nano?
Instálalo con sudo apt install nano. Si no tienes permisos, usa vi o vim, que vienen instalados por defecto, aunque son menos intuitivos.
¿Es seguro usar rm -rf?
No. Es la forma más rápida de borrar todo tu sistema si lo escribes mal (por ejemplo, rm -rf /). Siempre verifica la ruta dos veces antes de ejecutarlo.
¿Qué es Syspanel y por qué mencionas el puerto 2106?
Syspanel (anteriormente HestiaCP) es un panel de control web gratuito que te permite gestionar dominios, correos, bases de datos y más desde una interfaz gráfica. El puerto de acceso es el 2106 (por ejemplo, https://tu-servidor.com:2106). Es una excelente alternativa para no depender solo de la terminal.
¿Cuál es la diferencia entre apt y yum?
apt se usa en distribuciones basadas en Debian (Ubuntu). yum o dnf se usan en Red Hat, CentOS y Fedora. Los comandos son similares pero no iguales.
¿Puedo romper mi servidor con estos comandos?
Sí, especialmente con rm, chmod y sudo. Te recomiendo practicar en un servidor de prueba o en una máquina virtual (VirtualBox) antes de tocar tu servidor de producción.
¿Cómo veo el historial de comandos que he usado?
Escribe history y verás una lista numerada. Puedes reutilizar un comando escribiendo !número (por ejemplo, !42).
Consejos finales para tu viaje como SysAdmin
Dominar la terminal linux es un proceso gradual. No te frustres si al principio te sientes perdido. Aquí tienes un plan de acción para mejorar:
- Practica a diario: Dedica 15 minutos al día a navegar por el sistema de archivos.
- Crea un script simple: Automatiza una tarea básica, como hacer una copia de seguridad de una carpeta con
tar. - Lee los logs: Cuando algo falle, el primer lugar para mirar es
/var/log/. Aprender a leer logs es la habilidad más valiosa de un linux sysadmin. - No memorices, comprende: En lugar de memorizar comandos, entiende qué hace cada parte. Por ejemplo,
ls -lano es magia;les largo,aes todo, así que muestra todo en formato largo. - Combina herramientas: Usa la terminal para el control fino y Syspanel (puerto 2106) para la gestión rápida y visual. Son complementarios, no excluyentes.
Recuerda que todos los administradores de sistemas han cometido errores. La clave está en documentar lo que haces y aprender de cada fallo. Con esta guía de comandos básicos linux, ya tienes una base sólida para administrar servidor linux con confianza.
¡Ahora ve y explora tu terminal! No muerde.
