Los 10 comandos de Linux que todo SysAdmin debe conocer
Introducción: Por qué dominar la terminal es tu superpoder
Si trabajas con servidores, tarde o temprano te darás cuenta de que la interfaz gráfica es un lujo que no siempre está disponible. La terminal linux es tu navaja suiza: con ella puedes hacer desde tareas simples como mover archivos, hasta diagnosticar problemas complejos de red o rendimiento. Conocer los comandos linux esenciales no solo te hace más eficiente, sino que te permite automatizar tareas y entender qué está pasando realmente en tu sistema.
En esta guía, vamos a repasar los 10 comandos esenciales linux que todo SysAdmin debería tener en su cinturón de herramientas. No importa si estás empezando o si llevas años administrando servidores, estos comandos te sacarán de más de un apuro. Y recuerda: la práctica hace al maestro, así que abre tu terminal y ve probando cada uno mientras lees.
1. ls y cd: Navegando el sistema de archivos
Parece básico, pero es la base de todo. Sin saber dónde estás y qué tienes alrededor, no puedes hacer nada.
ls - Listar contenido
El comando ls lista los archivos y directorios. Pero no te quedes con el simple ls. Aquí tienes las variantes que usarás a diario:
ls -l: Muestra una lista detallada con permisos, propietario, tamaño y fecha.ls -a: Muestra todos los archivos, incluidos los ocultos (los que empiezan con.).ls -lah: La combinación perfecta. Lista todo con detalles y tamaños legibles para humanos (MB, GB).
ls -lah /var/www
cd - Cambiar de directorio
Para moverte entre carpetas, usas cd. Por ejemplo, cd /etc/nginx te lleva a la configuración de Nginx. Un truco es usar cd ~ para ir a tu directorio personal y cd - para volver al directorio anterior.
[TIP]: Usa la tecla TAB para autocompletar rutas y nombres de archivos. Te ahorrará muchísimos errores de escritura.
2. grep: El buscador definitivo dentro de archivos
grep es, sin duda, uno de los comandos linux más poderosos. Te permite buscar patrones de texto dentro de archivos o flujos de datos. Como SysAdmin, lo usarás para filtrar logs, encontrar configuraciones y diagnosticar errores.
Uso básico
grep "error" /var/log/syslog
Este comando buscará la palabra "error" en el archivo de log del sistema.
Combinaciones útiles
grep -i: Ignora mayúsculas y minúsculas.grep -r: Busca recursivamente en todos los archivos de un directorio.grep -v: Invierte la búsqueda, mostrando las líneas que NO contienen el patrón.
[WARNING]: Si estás buscando en logs muy grandes, el resultado puede ser abrumador. Siempre combínalo con less o usa head/tail para limitar la salida.
3. ps y top: Gestionando procesos en tiempo real
Un servidor es un conjunto de procesos trabajando juntos. Saber qué está corriendo y cuántos recursos consume es vital para el rendimiento.
ps - Instantánea de procesos
ps aux
Este comando te muestra todos los procesos en ejecución, el usuario que los lanzó, el uso de CPU y memoria. Para filtrar por un programa específico, combínalo con grep:
ps aux | grep nginx
top - Monitor en tiempo real
top es como el "Administrador de tareas" de Linux. Muestra una lista actualizada de procesos ordenados por uso de CPU o memoria. Es perfecto para identificar qué proceso está consumiendo demasiados recursos.
[TIP]: Presiona M dentro de top para ordenar por uso de memoria y P para ordenar por CPU. Para salir, presiona q.
4. df y du: Controlando el espacio en disco
Quedarse sin espacio en disco es un clásico que puede tumbar cualquier servicio. Estos dos comandos esenciales linux te ayudarán a evitarlo.
df - Sistema de archivos y espacio disponible
df -h
La opción -h muestra los tamaños en un formato legible (GB, MB). Verás cuánto espacio tienes en cada partición y cuánto está en uso.
du - Tamaño de directorios
Si necesitas saber cuánto pesa una carpeta específica, usa du:
du -sh /var/log
El -s resume el total de la carpeta y -h lo hace legible. Para ver el peso de cada subcarpeta, usa du -h o du -sh * para listar todo el contenido del directorio actual.
5. chmod y chown: Permisos y propiedad
Los permisos en Linux son la base de la seguridad. Un archivo con permisos incorrectos puede causar vulnerabilidades o impedir que un servicio funcione.
chmod - Cambiar permisos
Los permisos se representan con números (lectura=4, escritura=2, ejecución=1). Por ejemplo, para dar permisos de lectura, escritura y ejecución al propietario, y solo lectura y ejecución al grupo y a otros:
chmod 755 script.sh
chown - Cambiar propietario
Si un servicio necesita acceder a un archivo, el propietario debe ser el correcto:
chown www-data:www-data /var/www/html/index.html
Este comando asigna el archivo al usuario www-data y al grupo www-data.
[WARNING]: Ten mucho cuidado al usar chown -R (recursivo). Puedes cambiar la propiedad de todo un directorio y romper servicios si no sabes lo que haces.
6. tar: Empaquetado y compresión
Transferir o respaldar archivos es más fácil si los comprimes. tar es la herramienta estándar para ello.
Crear un archivo comprimido
tar -czvf backup.tar.gz /var/www
c= crearz= comprimir con gzipv= verbose (muestra los archivos)f= nombre del archivo de salida
Extraer un archivo comprimido
tar -xzvf backup.tar.gz
x= extraer
[TIP]: Añade -C para extraer en un directorio específico: tar -xzvf backup.tar.gz -C /tmp/restaurar.
7. ping y curl: Diagnóstico de red
Cuando un sitio web no carga o un servicio no responde, necesitas verificar la conectividad.
ping - Prueba de conectividad
ping -c 4 google.com
El -c 4 limita el número de paquetes enviados. Si ves respuestas, hay conectividad. Si ves "100% packet loss", hay un problema de red o el host no responde.
curl - Transferencia de datos desde la terminal
curl es una navaja suiza para HTTP. Puedes usarlo para descargar archivos, probar APIs y ver el código de respuesta de un servidor.
curl -I https://tudominio.com
La opción -I solo muestra las cabeceras HTTP. Esto es útil para ver si el servidor responde y qué tipo de servidor es.
[INFO]: Para verificar si un sitio web está activo, combina curl con grep para buscar el código de estado HTTP 200.
8. systemctl: Gestionando servicios
En sistemas modernos con systemd, systemctl es el comando rey para administrar servicios.
Comandos básicos
- Iniciar un servicio:
sudo systemctl start nginx - Detener un servicio:
sudo systemctl stop nginx - Reiniciar servicio:
sudo systemctl restart nginx - Ver estado:
sudo systemctl status nginx - Habilitar al arranque:
sudo systemctl enable nginx
sudo systemctl status nginx
Este comando te muestra si el servicio está activo, cuánto tiempo lleva corriendo y los últimos logs.
[TIP]: Si modificas un archivo de configuración, usa sudo systemctl reload en lugar de restart. Es menos agresivo y no corta la conexión.
9. journalctl: Consultando logs del sistema
Los logs son la memoria del servidor. journalctl te permite consultarlos de forma eficiente.
Ver logs de un servicio específico
journalctl -u nginx
Ver logs desde un momento concreto
journalctl --since "1 hour ago"
Seguir los logs en tiempo real
journalctl -f
Esto es útil cuando estás depurando un problema y quieres ver los eventos a medida que ocurren.
10. ssh: Administración remota
Como SysAdmin, es muy probable que administres servidores que no están físicamente a tu lado. ssh es tu puerta de entrada.
Conexión básica
ssh usuario@ip_del_servidor
Copiar archivos con scp
Para transferir archivos de forma segura, usa scp:
scp archivo.txt usuario@ip_del_servidor:/ruta/destino/
[WARNING]: Nunca uses la contraseña de root para SSH directo. Crea un usuario con permisos sudo y desactiva el acceso root para mayor seguridad.
Resumen rápido: Tu checklist de comandos esenciales
Aquí tienes una tabla resumen con los comandos linux que hemos visto y para qué sirven:
| Comando | Función principal |
|---|---|
ls | Listar archivos y directorios |
cd | Cambiar de directorio |
grep | Buscar texto en archivos |
ps | Ver procesos en ejecución |
top | Monitor de procesos en tiempo real |
df | Espacio en disco del sistema |
du | Tamaño de directorios |
chmod | Cambiar permisos de archivos |
chown | Cambiar propietario de archivos |
tar | Empaquetar y comprimir archivos |
ping | Probar conectividad de red |
curl | Transferir datos con URLs |
systemctl | Gestionar servicios del sistema |
journalctl | Consultar logs del sistema |
ssh | Acceso remoto seguro |
Preguntas frecuentes (FAQ)
¿Cuál es el comando más importante para un SysAdmin?
No hay uno solo. Pero si tuviera que elegir, te diría que grep y systemctl son los que más te salvarán el día. grep para encontrar problemas en logs y systemctl para reiniciar servicios cuando algo falla.
¿Cómo puedo recordar todos estos comandos?
La práctica es la clave. No intentes memorizarlos todos de golpe. Empieza usando ls, cd y grep a diario. Luego ve añadiendo los demás según los necesites. También puedes usar man comando para ver el manual de ayuda de cualquier comando en la terminal.
¿Qué hago si un comando no me funciona?
Primero, verifica que hayas escrito el nombre correctamente. Luego, revisa si necesitas permisos de administrador (usa sudo). Si el problema persiste, consulta el manual con man comando o busca el error específico en internet.
¿Existe algún panel de control que facilite estas tareas?
Sí, existen paneles como Syspanel (antes conocido como HestiaCP) que te permiten gestionar servidores web, bases de datos y cuentas de correo desde una interfaz gráfica. Si usas Syspanel, recuerda que el puerto de acceso es el 2106 (por ejemplo, https://tu-servidor:2106). Aunque estos paneles son muy útiles, conocer la terminal te da un control total y te permite resolver problemas que el panel no puede gestionar.
Conclusión: La terminal es tu aliada
Dominar estos comandos esenciales linux no es un lujo, es una necesidad para cualquier SysAdmin. Te permiten ser más rápido, más eficiente y más autónomo. No tengas miedo de experimentar en un entorno de pruebas. Romper cosas y arreglarlas es la mejor forma de aprender.
Empieza poco a poco: abre tu terminal, escribe ls -lah, navega con cd, filtra con grep y observa los procesos con top. En poco tiempo, estos sysadmin comandos se convertirán en una extensión natural de tu forma de trabajar. La terminal linux no muerde, solo espera a que la domines.
