LINUX COMMAND LINE – DÍA 3

Inspeccionar el sistema: procesos, memoria, CPU, servicios, usuarios, uptime


1. Objetivo del día

Aprender los comandos esenciales para diagnosticar un sistema rápidamente:

  • ver procesos activos
  • comprobar carga del sistema
  • ver uso de memoria, CPU y disco
  • ver qué servicios están activos
  • detectar usuarios conectados
  • identificar la versión del sistema
  • medir el uptime del servidor

Esto es lo que un sysadmin hace a diario para entender si un sistema está sano o no.


2. Requisitos

  • Saber navegar (Día 1)
  • Saber manipular archivos y directorios (Día 2)

3. Información general del sistema


3.1. Uptime: cuánto tiempo lleva encendido el servidor

uptime

Ejemplo típico:

14:22:10 up 5 days,  3:10,  2 users,  load average: 0.32, 0.40, 0.35

Incluye:

  • tiempo encendido
  • usuarios conectados
  • carga del sistema (load average)

3.2. Ver versión del sistema: uname

uname -a

Muestra:

  • kernel
  • arquitectura
  • nombre de host

3.3. Ver información detallada de la distro (Linux)

(No funciona en Solaris, AIX o HP-UX)

cat /etc/os-release

4. Procesos del sistema


4.1. Ver procesos: ps

Procesos del usuario actual:

ps

Procesos con detalles:

ps aux

Buscar un proceso concreto:

ps aux | grep nginx

4.2. Ver procesos en tiempo real: top

top

Muestra:

  • procesos activos
  • uso de CPU
  • uso de memoria
  • carga del sistema

Salir con:

q

4.3. Versión moderna de top: htop (si está instalado)

Más visual:

htop

No siempre está instalado en entornos corporativos.


5. CPU, memoria y disco


5.1. Memoria RAM: free

free -h

Muestra:

  • RAM total
  • RAM usada
  • RAM libre
  • caché y buffers (muy importante)

5.2. Uso de CPU: top o /proc/cpuinfo

cat /proc/cpuinfo

5.3. Uso de disco: df

df -h

Muestra:

  • uso de particiones
  • espacio disponible
  • sistemas de archivos

5.4. Tamaño de carpetas: du

Tamaño del directorio actual:

du -sh .

Tamaño de subcarpetas:

du -sh *

Esto es ORO para localizar directorios que consumen espacio.


6. Logs (visión preliminar)

Ver el final de un log:

tail /var/log/syslog

Seguir un log en vivo:

tail -f /var/log/syslog

(Más profundo en Día 4.)


7. Usuarios y sesiones


7.1. Ver quién está conectado: who

who

7.2. Actividad de los usuarios: w

w

Muestra:

  • usuarios
  • procesos
  • tiempo de actividad

7.3. Últimos inicios de sesión

last

8. Servicios del sistema

En Linux moderno (systemd):


8.1. Ver estado de un servicio

systemctl status nginx

8.2. Ver servicios activos

systemctl --type=service --state=running

8.3. Reiniciar un servicio (si tienes permisos)

sudo systemctl restart nginx

8.4. Ver logs de un servicio

journalctl -u nginx

(Volveremos más a fondo en Día 4)


9. Práctica guiada (20 min)

9.1. Información del sistema

uname -a
uptime
cat /etc/os-release

9.2. Procesos

ps aux | head
ps aux | grep ssh
top

9.3. Memoria y CPU

free -h
cat /proc/cpuinfo

9.4. Disco

df -h
du -sh /var/log

9.5. Usuarios

who
w

9.6. Servicios (si tienes systemd)

systemctl --type=service --state=running

10. Checklist del Día 3

  • Usas uptime para medir carga
  • Usas uname -a para ver la versión del sistema
  • Buscas procesos con ps aux | grep
  • Usas top para ver consumo en tiempo real
  • Mides memoria con free -h
  • Mides disco con df -h y du -sh
  • Sabes ver sesiones activas con who y w
  • Sabes ver servicios con systemctl

Si todo esto lo dominas → ya puedes diagnosticar un servidor real.


11. Bonus: Automatización básica con Cron (crontab)

cron es el servicio de Linux que permite ejecutar comandos o scripts automáticamente en momentos determinados.
crontab es el archivo donde cada usuario define sus tareas programadas.

Es una herramienta básica y muy útil incluso para principiantes, porque permite automatizar trabajos repetitivos: backups, limpieza de logs, ejecución de scripts, etc.


11.1 Ver y editar tu crontab

Mostrar las tareas programadas:

crontab -l

Editar tu crontab:

crontab -e

11.2 Estructura de una línea en crontab

Cada tarea sigue este formato:

*  *  *  *  *   comando-a-ejecutar
│  │  │  │  │
│  │  │  │  └─ Día de la semana (0–7)
│  │  │  └──── Mes (1–12)
│  │  └─────── Día del mes (1–31)
│  └────────── Hora (0–23)
└────────────── Minuto (0–59)

Ejemplo:

30 2 * * * /home/user/backup.sh

→ Ejecuta el script cada día a las 02:30.


11.3 Ejemplos útiles

Cada minuto (para pruebas):

* * * * * echo "hola" >> /tmp/prueba.txt

Cada lunes a las 8:00:

0 8 * * 1 /home/user/reporte.sh

Cada 10 minutos:

*/10 * * * * /usr/bin/python3 /home/user/mi_script.py

Guardar logs:

0 6 * * * /home/user/limpieza.sh >> /var/log/limpieza.log 2>&1

11.4 Buenas prácticas

  • Usa rutas absolutas: cron no carga tu PATH habitual.
  • Asegúrate de que tus scripts tienen permisos: chmod +x script.sh
  • Revisa el estado del servicio: sudo systemctl status cron
  • Si algo falla, revisa los logs:
    • Ubuntu/Debian: /var/log/syslog
    • CentOS/RHEL: /var/log/cron

11.5 Práctica guiada

  1. Crear un script hola.sh que escriba “Hola cron” en un archivo.
  2. Añadirlo al crontab para ejecutarlo cada minuto.
  3. Comprobar que se ejecuta correctamente.
  4. Ajustarlo para que vaya cada 10 minutos.

Con esto aprenderás lo esencial para automatizar tareas en Linux desde el primer día.

12. Ejercicio sugerido

  1. Ver cuántos días lleva encendido tu sistema con uptime.
  2. Ver cuántas CPUs tienes (cat /proc/cpuinfo | grep processor).
  3. Ver servicios activos.
  4. Localizar qué carpeta ocupa más espacio dentro de /var/log.
  5. Ver quién está conectado ahora mismo.
  6. Buscar el proceso sshd con ps aux | grep ssh.

13. Día 3 completado

Ahora ya puedes mirar un sistema Linux como un profesional.
Esto es exactamente lo que hace un técnico cuando recibe una alerta o entra en un servidor nuevo.

En el Día 4 aprenderás a:

👉 buscar información, analizar logs y localizar archivos con comandos esenciales:
grep, find, locate, tail, head, less

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies