La gran mayoría de los servidores web operan bajo Linux. Incluso si desarrollas en macOS o Windows (con WSL), el despliegue implica interactuar con una terminal Linux. Dominar la línea de comandos no es solo una habilidad deseable; es la diferencia entre solucionar un problema en producción en 30 segundos o pasar media hora intentando descifrarlo.

Navegando por el Sistema de Archivos

Comandos Esenciales de Navegación
# Muestra el directorio actual
pwd

# Lista archivos (formato largo, tamaños legibles, archivos ocultos)
ls -lah

# Cambiar de directorio
cd /var/www/html
cd ~        # Ir al directorio personal
cd -        # Volver al directorio anterior

# Crear directorios (incluyendo anidados)
mkdir -p proyectos/mi-app/src

# Buscar archivos
find /var/log -name "*.log" -mtime -7  # Logs modificados en los últimos 7 días

Trabajando con Archivos

Operaciones con Archivos
# Ver contenido de archivos
cat config.json              # Archivo completo
head -n 20 access.log        # Primeras 20 líneas
tail -n 50 error.log         # Últimas 50 líneas
tail -f error.log            # Seguir en tiempo real (ideal para depuración)
less large-file.log          # Visor desplazable

# Copiar, mover, eliminar
cp file.txt backup/file.txt
cp -r src/ src-backup/       # Copiar directorio recursivamente
mv old-name.txt new-name.txt
rm file.txt
rm -rf node_modules/         # Eliminar directorio recursivamente (¡CUIDADO!)

# Tamaños de archivos
du -sh node_modules/         # Tamaño total del directorio
df -h                        # Resumen del uso del disco

Procesamiento de Texto: grep, sed, awk

Estas tres herramientas son la navaja suiza del análisis de logs y la manipulación de texto.

grep — Buscar Patrones
# Buscar una cadena en archivos
grep "ERROR" /var/log/app.log

# Búsqueda recursiva en un directorio
grep -r "TODO" src/

# Ignorar mayúsculas/minúsculas con números de línea
grep -in "database" config.php

# Mostrar 3 líneas antes y después de cada coincidencia
grep -B3 -A3 "Exception" error.log

# Contar coincidencias
grep -c "404" access.log
sed — Editor de Flujo
# Reemplazar la primera ocurrencia por línea
sed 's/http:/https:/' urls.txt

# Reemplazar TODAS las ocurrencias (bandera global)
sed 's/http:/https:/g' urls.txt

# Editar en el sitio (modificar el archivo directamente)
sed -i 's/localhost/production.example.com/g' .env
awk — Extracción de Columnas
# Imprimir la 1ª y 4ª columna de un archivo separado por espacios
awk '{print $1, $4}' access.log

# Sumar una columna de números
awk '{sum += $5} END {print sum}' data.csv

Permisos y Propiedad

chmod & chown
# Hacer un script ejecutable
chmod +x deploy.sh

# Establecer permisos específicos (propietario: rwx, grupo: r-x, otros: r--)
chmod 754 app.js

# Cambiar la propiedad de un archivo
chown www-data:www-data /var/www/html -R

SSH & Servidores Remotos

Comandos SSH
# Conectar a un servidor remoto
ssh [email protected]

# Usar una clave SSH específica
ssh -i ~/.ssh/my-key.pem [email protected]

# Copiar archivos a un servidor remoto (SCP)
scp -r ./dist [email protected]:/var/www/html/

# Ejecutar un comando remotamente sin iniciar sesión
ssh [email protected] "sudo systemctl restart nginx"

Gestión de Procesos

Gestionando Procesos
# Listar procesos en ejecución
ps aux | grep node

# Comprobar qué está usando un puerto
lsof -i :3000
# o
ss -tulnp | grep 3000

# Matar un proceso por PID
kill 12345
kill -9 12345  # Matar forzosamente

# Monitorizar recursos del sistema (interactivo)
htop

Piping & Redirección

La tubería (|) envía la salida de un comando como entrada al siguiente. Esto es lo que hace que la línea de comandos sea tan potente.

Ejemplos Prácticos de Tubería
# Encontrar los 10 archivos más grandes en un directorio
du -ah /var/log | sort -rh | head -10

# Contar direcciones IP únicas en el log de acceso
awk '{print $1}' access.log | sort | uniq -c | sort -rn | head -20

# Guardar la salida de un comando en un archivo
echo "Despliegue a las $(date)" >> deploy.log

# Redirigir errores a un archivo
npm run build 2> errors.log

Prueba Nuestras Herramientas Gratuitas para Desarrolladores

Codifica, decodifica y formatea tu código al instante.