Si eres nuevo en Linux: aquí tienes un flujo mínimo para entrar a un servidor (por ejemplo EC2), entender dónde estás, ver archivos y validar “salud” del sistema sin romper nada.
/var/log.ls lista archivos.Cuando entras por SSH a un servidor, haz estas preguntas:
whoami # muestra el usuario con el que estás conectado (ej: ubuntu, ec2-user)
hostname # nombre del servidor (útil para saber en qué máquina estás)
pwd # "print working directory": en qué carpeta estás ahora mismo
uname -a # información del sistema (kernel, arquitectura) para contexto rápido
uptime # cuánto tiempo está encendido + carga del sistema (si está muy alta, hay problema)
date # fecha/hora (útil para correlacionar eventos con logs)
Piensa que estás en un “explorador de archivos”, pero por comandos.
pwd # dónde estoy (tu ubicación actual)
ls # lista archivos/carpetas en el lugar actual
ls -lah # listado detallado: permisos, dueño, tamaño y fecha (muy usado en servidores)
cd /var/log # cd = change directory: te mueve a /var/log (carpeta típica de logs)
cd .. # sube un nivel (si estás en /var/log -> te lleva a /var)
cd ~ # te lleva a tu carpeta "home" (tu espacio personal)
cd # sin argumentos = también te lleva a home
clear # limpia la pantalla (solo visual, no borra nada)
pwd
ls -lah
En DevOps casi siempre estás leyendo logs o configs. Primero aprende a leer sin editar.
cat archivo.txt # muestra TODO el contenido (bien para archivos pequeños)
less archivo.log # visor interactivo (ideal para logs grandes)
# dentro de less:
# - presiona 'q' para salir
# - usa flechas o PageUp/PageDown para moverte
# - escribe /ERROR y Enter para buscar "ERROR"
head -n 50 archivo.log # muestra las primeras 50 líneas
tail -n 50 archivo.log # muestra las últimas 50 líneas
tail -f archivo.log # sigue el archivo en vivo (se actualiza cuando aparecen nuevas líneas)
# se usa muchísimo para ver logs mientras pruebas algo
# Ctrl + C para salir
Esto es básico, pero aquí es donde la gente comete errores. Vamos seguro.
mkdir carpeta # crea una carpeta
mkdir -p a/b/c # crea carpetas anidadas aunque no existan (a, b, c)
touch archivo.txt # crea un archivo vacío (o actualiza su fecha si ya existe)
cp origen.txt copia.txt # copia archivo: origen -> copia
cp -r carpeta1 carpeta2 # copia carpeta completa (-r = recursivo)
mv viejo.txt nuevo.txt # renombra archivo
mv archivo.txt /tmp/ # mueve archivo a /tmp (carpeta temporal)
rm archivo.txt # elimina archivo (no hay "papelera" como Windows)
rm -r carpeta/ # elimina carpeta y su contenido (cuidado)
rm -rf carpeta/ # fuerza eliminación sin preguntar (MUCHO cuidado)
pwd
ls -lah
Cuando no sabes dónde está un archivo, o quieres encontrar errores en logs:
find . -name "archivo*.log" # busca en esta carpeta y subcarpetas archivos que coincidan
# el "." significa "aquí"
grep -R "ERROR" . # busca la palabra ERROR en todos los archivos desde aquí (-R = recursivo)
grep -n "ERROR" archivo.log # busca en un archivo y muestra el número de línea (-n)
Estas validaciones te dicen si el servidor está “bien” o está por explotar.
df -h # espacio en disco (si está al 100%, servicios pueden fallar)
free -h # memoria RAM (si hay poca, puede usar swap y ponerse lento)
ps aux | head # lista procesos (| head muestra solo los primeros)
top # monitoreo en tiempo real (CPU, memoria, procesos)
# presiona 'q' para salir
ip a # direcciones IP del servidor
ss -tulpen # puertos escuchando y procesos asociados (diagnóstico de red)
uptime, top, free -h, df -h.tail -f y puertos con ss -tulpen.find o grep para ubicarlo rápido.less y tail -f son esenciales para trabajar con logs sin “romper” archivos.pwd + ls -lah. En servidores, no hay papelera.df), memoria (free), procesos (top), red (ip/ss).