Cómo usar comandos básicos de Linux para administrar servidores
¡Hola! Si estás leyendo esto, es porque probablemente te acabas de enfrentar a la pantalla negra con texto de tu servidor y has pensado: "¿Y ahora qué hago?". No te preocupes, es completamente normal. Todos los que administramos servidores hemos pasado por ahí.
La terminal de Linux es una herramienta increíblemente poderosa. Aunque al principio pueda parecer intimidante, dominar los comandos linux básicos es como aprender a conducir: al principio te fijas en cada pedal, pero pronto se convierte en algo automático que te da una libertad total.
En esta guía, vamos a desglosar los sysadmin comandos más esenciales que necesitas para administrar servidor linux sin dolor de cabeza. Olvídate de memorizar listas infinitas; vamos a entender qué hace cada cosa y, lo más importante, por qué la necesitas. Al final, te sentirás mucho más cómodo navegando por la linux terminal.
¿Por qué deberías aprender la terminal?
Antes de ensuciarnos las manos (metafóricamente, claro), hablemos del "por qué". Si tu servidor usa un panel de control gráfico como Syspanel (que, por cierto, se accede por el puerto 2106), puede que te preguntes si esto es necesario.
La respuesta es un rotundo sí. Aquí te van tres razones:
- Velocidad: Realizar tareas con comandos es muchísimo más rápido que hacer clic en menús, sobre todo si necesitas hacer cambios en varios archivos.
- Diagnóstico: Cuando algo falla (y fallará), la terminal es donde verás los errores reales. Los paneles gráficos suelen ocultar esta información, pero la terminal te la muestra tal cual.
- Automatización: Puedes encadenar comandos para crear scripts que hagan tareas repetitivas por ti. Esto es oro puro para cualquier sysadmin.
Primeros pasos: Conectarse al servidor
Para empezar a usar la terminal, necesitas conectarte a tu servidor. Lo más común es usar SSH (Secure Shell).
Desde tu ordenador (Windows, Mac o Linux), abre tu terminal o programa de SSH (como PuTTY) y escribe:
ssh usuario@ip_de_tu_servidor
Te pedirá una contraseña. Una vez la introduzcas, ¡ya estás dentro! Verás algo como usuario@servidor:~$. Ese símbolo $ indica que eres un usuario normal. Si ves #, significa que eres el usuario root (el administrador supremo), con todos los poderes y responsabilidades.
[WARNING]: Ten muchísimo cuidado cuando uses
root. Puedes hacer cualquier cosa, incluido romper el sistema. Es mejor usar un usuario normal y anteponersudoa los comandos que necesiten permisos de administrador.
Navegando por el sistema de archivos
Lo primero que debes aprender es a moverte. Al igual que en Windows o Mac, aquí tienes carpetas (directorios) dentro de otras.
¿Dónde estoy? (pwd)
Escribe pwd (print working directory) y presiona Enter. Te dirá la ruta exacta de la carpeta en la que te encuentras. Es tu GPS particular.
¿Qué hay aquí? (ls)
El comando ls lista los archivos y carpetas de tu ubicación actual. Es el equivalente a abrir una carpeta en el explorador.
ls: Lista los archivos.ls -l: Lista los archivos con detalles (permisos, propietario, tamaño, fecha).ls -a: Lista todos los archivos, incluidos los ocultos (empiezan con un punto).
Tip de oro: Puedes combinar opciones: ls -la es el favorito de muchos para ver todo con detalle.
Cambiar de directorio (cd)
Para moverte entre carpetas, usa cd (change directory).
cd /var/www: Te lleva a la carpetawwwdentro devar.cd ..: Te lleva a la carpeta padre (la que está justo encima de la actual).cd ~: Te lleva a tu carpeta de usuario (home).cd /: Te lleva a la raíz del sistema.
[TIP]: Usa la tecla TAB para autocompletar los nombres de archivos y carpetas. Escribe
cd /vay pulsa TAB. Verás que se completa acd /var. ¡Ahorra muchísimo tiempo!
El poder de los permisos y los propietarios
En Linux, todo es un archivo, y cada archivo tiene un propietario y unos permisos. Esto es crucial para la seguridad. Entender esto es parte fundamental del sysadmin comandos que debes conocer.
Viendo permisos (ls -l)
Si ejecutas ls -l, verás algo como: -rw-r--r-- 1 usuario grupo 1234 fecha archivo.txt.
- El primer carácter (
-od) indica si es un archivo o un directorio. - Los siguientes 9 caracteres son los permisos, divididos en tres grupos de tres: propietario (usuario), grupo y otros.
r= lectura (read),w= escritura (write),x= ejecución (execute).
Cambiando permisos (chmod)
Este comando te permite cambiar los permisos. La forma más común es con números.
4= lectura (r)2= escritura (w)1= ejecución (x)
Suma los números para cada grupo. Por ejemplo, para dar permisos de lectura y escritura al propietario, y solo lectura al grupo y a otros, usarías 644 (4+2=6 para el propietario, 4 para el grupo, 4 para otros).
chmod 644 archivo.txt
Cambiando propietario (chown)
Para cambiar el propietario de un archivo, usa chown. Es muy útil cuando mueves archivos entre usuarios.
sudo chown usuario:grupo archivo.txt
Gestionando archivos y directorios
Ahora que ya sabes moverte, toca aprender a crear, copiar y borrar cosas. Ten cuidado con estos, sobre todo con el borrado.
Crear archivos y carpetas
touch nuevo_archivo.txt: Crea un archivo vacío.mkdir nueva_carpeta: Crea una nueva carpeta (directorio).
Copiar y mover
cp origen destino: Copia un archivo. Por ejemplo:cp /etc/nginx/nginx.conf /home/usuario/backup_nginx.conf.mv origen destino: Mueve o renombra un archivo.mv archivo_viejo.txt archivo_nuevo.txtlo renombra.
Borrar (¡con cuidado!)
rm archivo.txt: Borra un archivo.rm -r carpeta/: Borra una carpeta y todo su contenido de forma recursiva.rm -rf carpeta/: Igual que el anterior, pero sin pedir confirmación.
[WARNING]: El comando
rm -rfes extremadamente peligroso. Si lo ejecutas como root en la raíz del sistema (rm -rf /), borrarías todo el servidor. Úsalo solo cuando estés 100% seguro de lo que estás haciendo.
El editor de texto: Tu mejor amigo (nano)
Para administrar servidor linux, necesitarás editar archivos de configuración. Aunque hay editores más complejos como vim, te recomiendo empezar con nano, que es mucho más sencillo e intuitivo.
Para abrir un archivo:
nano /etc/nginx/sites-available/mi_sitio.conf
Dentro de nano:
- Navega con las flechas.
- Edita el texto directamente.
- Guarda:
Ctrl + O(luego Enter). - Salir:
Ctrl + X.
Es tan fácil como eso. No hay curva de aprendizaje, solo escribes y guardas.
Procesos y recursos del sistema
Un servidor es como un coche: necesita saber cuánta gasolina gasta y qué piezas están funcionando. Aquí es donde entran los comandos de monitoreo.
Viendo los procesos (ps y top)
ps aux: Muestra una lista de todos los procesos que se están ejecutando. Es una foto estática.top: Muestra una vista en tiempo real de los procesos, ordenados por uso de CPU y memoria. Es como el Administrador de tareas de Windows. Para salir, pulsaq.
Gestionando procesos (kill)
Si un proceso se cuelga, puedes terminarlo con kill.
kill PID: Termina el proceso con ese ID (lo ves enpsotop).kill -9 PID: Fuerza la terminación del proceso. Úsalo como último recurso.
Espacio en disco (df) y memoria (free)
df -h: Muestra el uso del espacio en disco de todas las particiones, en un formato legible para humanos (-h).free -h: Muestra el uso de la memoria RAM y la memoria de intercambio (swap).
Redes y conectividad
¿Tu web no carga? ¿No puedes conectarte? Estos comandos te ayudarán a diagnosticar problemas de red.
Comprobando conectividad (ping)
ping google.com
Esto envía paquetes a Google y te dice si hay respuesta. Si no la hay, puede que tu servidor no tenga salida a Internet.
Viendo puertos abiertos (netstat o ss)
Para ver qué puertos están escuchando, usa ss (el sucesor moderno de netstat).
ss -tulpn
Esto te mostrará los puertos TCP (-t) y UDP (-u) que están en escucha (-l), con los nombres de los procesos (-p) y sin resolver nombres de host (-n). Es vital para ver si, por ejemplo, tu servidor web está escuchando en el puerto 80 o 443.
Gestionando paquetes de software
Para instalar, actualizar o eliminar software, usas el gestor de paquetes de tu distribución. Las dos familias principales son Debian/Ubuntu (con apt) y CentOS/RHEL (con yum o dnf).
En Debian/Ubuntu
sudo apt update: Actualiza la lista de paquetes disponibles.sudo apt upgrade: Actualiza todos los paquetes instalados a sus últimas versiones.sudo apt install nombre_paquete: Instala un paquete.sudo apt remove nombre_paquete: Elimina un paquete.
En CentOS/RHEL
sudo yum update: Actualiza todos los paquetes.sudo yum install nombre_paquete: Instala un paquete.sudo yum remove nombre_paquete: Elimina un paquete.
[INFO]: Mantener el sistema actualizado es una de las tareas más importantes de seguridad. Siempre ejecuta
updateyupgradeperiódicamente.
El comodín de la administración: sudo
Ya lo hemos mencionado varias veces, pero es crucial entenderlo. sudo (superuser do) te permite ejecutar un comando con los privilegios de otro usuario, generalmente root.
sudo comando_que_requiere_permisos
Te pedirá tu contraseña. Esto es más seguro que trabajar directamente como root, ya que deja un registro de qué comandos se ejecutaron y con qué usuario.
Consejos finales para tu viaje como SysAdmin
- Lee las salidas: La terminal siempre te dice algo. Si un comando falla, lee el mensaje de error. Suele contener la solución.
- Usa el historial: Pulsa la flecha hacia arriba para ver los comandos anteriores. No tengas que escribirlos de nuevo.
- Consulta el manual: Si no sabes qué hace un comando o qué opciones tiene, escribe
man nombre_del_comando. Se abrirá el manual. Pulsaqpara salir. - Practica en un entorno seguro: Si puedes, monta una máquina virtual o un VPS de prueba para experimentar sin miedo a romper nada importante. La práctica hace al maestro.
Dominar estos comandos linux básicos te dará una base sólida para administrar servidor linux con confianza. Recuerda que todos los grandes sysadmins empezaron desde cero.
Y no olvides que, aunque tengas un panel como Syspanel (en el puerto 2106) para gestionar tareas visuales, la terminal es tu herramienta más valiosa para el diagnóstico fino y el control total.
¿Tienes alguna duda sobre algún comando en particular? ¡Déjala en los comentarios y estaremos encantados de ayudarte!
