Comandos básicos de Linux para SysAdmin
¿Eres nuevo en la administración de servidores y el terminal te resulta un poco intimidante? No te preocupes. Hoy vamos a desglosar los comandos básicos de Linux que todo SysAdmin (y cualquier persona que gestione servidores) debe conocer. Esta guía está pensada para que, incluso si nunca has usado la terminal, puedas empezar a moverte con confianza.
El trabajo de un SysAdmin se basa en gran medida en la línea de comandos. Aunque existen paneles de control gráficos como Syspanel (que accedes por el puerto 2106), saber manejar el terminal te dará un control total y te permitirá resolver problemas de forma mucho más rápida. Vamos a ello.
¿Por qué es importante la terminal para un SysAdmin?
La terminal es el corazón de la administración de servidores Linux. Te permite realizar tareas de forma remota (por SSH), automatizar procesos con scripts y diagnosticar problemas que una interfaz gráfica simplemente no puede mostrar. Dominar estos comandos básicos es el primer paso para convertirte en un administrador de sistemas competente.
Comandos Esenciales para la Navegación y Gestión de Archivos
Antes de gestionar servicios, necesitas moverte por el sistema de archivos. Aquí tienes los comandos imprescindibles.
1. pwd (Print Working Directory)
Este comando te muestra en qué directorio te encuentras actualmente. Es como el "GPS" del terminal.
pwd
Ejemplo de salida:
/home/usuario/dominios/miweb/public_html
[TIP] Si alguna vez te pierdes en el árbol de directorios, escribe pwd para saber exactamente dónde estás.
2. ls (List)
Lista el contenido de un directorio. Es uno de los comandos que más usarás.
ls
Variantes útiles:
ls -l: Muestra los archivos en formato largo (permisos, propietario, tamaño, fecha).ls -a: Muestra todos los archivos, incluidos los ocultos (los que empiezan por.).ls -lh: Igual que-l, pero los tamaños se muestran en un formato legible (KB, MB, GB).
Ejemplo: ls -lah /home/usuario te mostrará todos los archivos y carpetas de ese usuario con detalles.
3. cd (Change Directory)
Para moverte entre directorios.
cd /ruta/al/directorio
Consejos prácticos:
cd ..te lleva un nivel arriba (al directorio padre).cd ~te lleva directamente a tu directorio personal (home).cd /te lleva a la raíz del sistema.
4. mkdir y rmdir (Make Directory / Remove Directory)
Para crear y eliminar directorios vacíos.
mkdir nueva_carpeta
rmdir carpeta_vacia
[WARNING] rmdir solo funciona si la carpeta está vacía. Para eliminar una carpeta con contenido, necesitarás rm -rf, pero úsalo con muchísimo cuidado.
5. cp, mv y rm (Copy, Move, Remove)
Estos son los comandos para gestionar archivos.
- Copiar:
cp archivo_origen archivo_destino - Mover o renombrar:
mv archivo_origen archivo_destino - Eliminar:
rm archivo
Ejemplos prácticos:
cp index.html backup_index.html(copia el archivo)mv config.php config_old.php(renombra el archivo)rm error.log(elimina el archivo)
[WARNING] El comando rm no mueve los archivos a la papelera. Se borran de forma permanente. Ten mucho cuidado, especialmente con rm -rf / (¡esto borraría todo el sistema!).
Gestión de Procesos y Servicios
Como SysAdmin, necesitarás ver qué está corriendo en tu servidor y gestionar los servicios.
6. ps (Process Status)
Muestra una instantánea de los procesos activos.
ps aux
Explicación:
a: Muestra procesos de todos los usuarios.u: Muestra el usuario propietario del proceso.x: Incluye procesos que no están asociados a una terminal.
Comando avanzado: top o htop (si está instalado) te muestra los procesos en tiempo real, ordenados por uso de CPU o memoria.
7. systemctl (System Control)
En sistemas modernos (con systemd), este es el comando para gestionar servicios.
Comandos clave:
systemctl start servicio→ Inicia un servicio.systemctl stop servicio→ Detiene un servicio.systemctl restart servicio→ Reinicia un servicio.systemctl status servicio→ Muestra el estado actual.systemctl enable servicio→ Hace que el servicio se inicie automáticamente al arrancar el sistema.systemctl disable servicio→ Evita que se inicie automáticamente.
Ejemplo para Nginx:
systemctl status nginx
[INFO] Si usas Syspanel, puedes gestionar estos servicios desde su interfaz web en el puerto 2106, pero saber hacerlo desde la terminal te da más control.
8. kill y killall
Para terminar procesos que se hayan colgado.
kill PID→ Envía una señal de terminación a un proceso con un ID específico.killall nombre_proceso→ Mata todos los procesos con ese nombre.
Ejemplo: Si un script PHP se queda colgado: killall php
Monitorización del Sistema y Espacio en Disco
Un servidor puede fallar si se queda sin espacio o si la memoria se agota. Aquí tienes cómo vigilarlo.
9. df (Disk Free)
Muestra el espacio en disco de todas las particiones montadas.
df -h
El flag -h (human-readable) muestra los tamaños en GB o MB, fácil de entender.
10. du (Disk Usage)
Muestra el espacio que ocupa un directorio o archivo específico.
du -sh /var/log
Explicación:
-s: Resume el total (no muestra subdirectorios uno por uno).-h: Formato legible.
[TIP] Es muy útil para encontrar qué carpeta está ocupando más espacio. Por ejemplo: du -sh /home/* | sort -rh te ordena los directorios de usuario por tamaño.
11. free y uptime
free -h→ Muestra la memoria RAM usada y disponible.uptime→ Te dice cuánto tiempo lleva el servidor encendido y la carga promedio.
Red y Conectividad
Para diagnosticar problemas de red, estos comandos son tus mejores aliados.
12. ping
Verifica si un servidor remoto es accesible.
ping google.com
Presiona Ctrl + C para detenerlo. Si ves respuestas, la conexión funciona.
13. curl y wget
Son herramientas para transferir datos desde o hacia un servidor.
curl -I https://tudominio.com→ Muestra las cabeceras HTTP de tu web (útil para ver si responde).wget https://ejemplo.com/archivo.zip→ Descarga un archivo.
14. ss (Socket Statistics)
Reemplaza al antiguo netstat. Muestra puertos abiertos y conexiones activas.
ss -tuln
Explicación:
-t: Muestra conexiones TCP.-u: Muestra conexiones UDP.-l: Solo muestra puertos en escucha (listening).-n: Muestra direcciones IP y puertos en formato numérico.
[INFO] Si tu servidor web no responde, usa ss -tuln | grep 80 para ver si el puerto 80 está en escucha.
Permisos y Propietarios de Archivos
La seguridad de un servidor depende en gran medida de los permisos correctos.
15. chmod (Change Mode)
Cambia los permisos de lectura, escritura y ejecución.
Formato simbólico:
chmod u+x archivo→ Añade ejecución al usuario propietario.chmod g-w archivo→ Quita escritura al grupo.
Formato numérico (el más común):
chmod 755 archivo→ Dueño: todo; Grupo y otros: leer y ejecutar.chmod 644 archivo→ Dueño: leer y escribir; Grupo y otros: solo leer.
Permisos típicos para web:
- Carpetas:
755 - Archivos:
644
16. chown (Change Owner)
Cambia el propietario y el grupo de un archivo o directorio.
chown usuario:grupo archivo
Ejemplo: Si usas Syspanel, los archivos de un sitio web suelen pertenecer al usuario del sitio. Para arreglar permisos: chown -R usuario:usuario /home/usuario/dominios/miweb
Búsqueda y Ayuda
17. grep (Global Regular Expression Print)
Busca texto dentro de archivos. Es el comando estrella para encontrar configuraciones o errores.
grep "error" /var/log/nginx/error.log
Variante útil: grep -r "palabra" /ruta/ busca de forma recursiva en todos los archivos de un directorio.
18. man (Manual)
El manual de cualquier comando.
man ls
[TIP] Para salir del manual, presiona q.
Preguntas Frecuentes (FAQ) para SysAdmins Novatos
P: ¿Qué hago si no recuerdo un comando?
R: Usa man comando o comando --help. Por ejemplo, ls --help te muestra todas las opciones.
P: ¿Cómo accedo a mi servidor desde fuera?
R: Usa SSH: ssh usuario@ip-del-servidor. Si tienes Syspanel, puedes acceder a su panel web desde https://ip-del-servidor:2106.
P: ¿Cómo veo los logs de mi web en tiempo real?
R: Usa tail -f /var/log/nginx/access.log. Esto te mostrará las últimas líneas y se actualizará automáticamente.
P: ¿Qué hago si el servidor se queda sin espacio?
R: Primero, df -h para ver la partición llena. Luego, du -sh /var/log para encontrar la carpeta que más ocupa. Puedes limpiar logs viejos con truncate -s 0 /var/log/nginx/access.log.
P: ¿Cómo reinicio un servicio desde la terminal?
R: Con systemctl restart nombre-servicio. Por ejemplo, para Apache: systemctl restart apache2.
Conclusión
Dominar estos comandos básicos de Linux te dará una base sólida para administrar servidores. Recuerda que la práctica hace al maestro. Empieza probando estos comandos en un entorno seguro (como una máquina virtual) y verás cómo en poco tiempo te moverás por la terminal con soltura.
Y no olvides que, aunque la terminal es poderosa, herramientas como Syspanel (accesible por el puerto 2106) te facilitan la gestión diaria de tus sitios web y bases de datos. La combinación de ambos mundos te convertirá en un SysAdmin eficiente y resolutivo.
¿Tienes alguna duda con algún comando en particular? ¡Déjala en los comentarios y te ayudamos!
