Comandos para gestión del sistema y diagnóstico
1. Comandos del módulo #
| Qué quiero hacer | Linux | Windows CMD | PowerShell |
|---|---|---|---|
| Ver procesos en árbol | pstree | tasklist (limitado) | Get-Process |
| Matar procesos por nombre | pkill | taskkill | Stop-Process |
| Apagar el sistema | shutdown, poweroff | shutdown | Stop-Computer |
| Reiniciar el sistema | reboot | shutdown /r | Restart-Computer |
| Detener el sistema | halt | ❌ | ❌ |
| Ver fecha y hora | date | date, time | Get-Date |
| Ver calendarios | cal | ❌ | ❌ |
| Ver archivos/puertos en uso | lsof | netstat | Get-NetTCPConnection |
| Trazar llamadas al sistema | strace | ❌ | ❌ |
| Ejecutar comando periódicamente | watch | ❌ | ❌ |
| Medir tiempo de ejecución | time | ❌ | Measure-Command |
pstree #
Muestra los procesos en forma de árbol (relaciones padre-hijo).
Opciones clave
-p→ muestra los PID-u→ muestra el usuario-a→ argumentos completos-h→ resalta el proceso actual
Ejemplos
1pstree 2pstree -p 3pstree -u 4pstree -p -a
📘 Ideal para explicar procesos, demonios y jerarquía del sistema.
pkill #
Envía una señal a procesos seleccionados por nombre o por otros criterios. kill, en cambio, identifica normalmente el proceso por PID.
Opciones clave
-f→ busca en el comando completo-u usuario→ solo procesos de un usuario-9→ fuerza el cierre (SIGKILL)
Para listar las señales disponibles se usa kill -l, no pkill -l.
Ejemplos
1pkill firefox 2pkill -9 chrome 3pkill -u alumno 4pkill -f node
⚠️ Mucho cuidado en clase: puede cerrar procesos críticos.
2. Apagado y reinicio del sistema #
shutdown #
Programa apagados o reinicios.
Opciones clave
now→ inmediato+5→ en 5 minutos-r→ reiniciar-h→ apagar-c→ cancelar
Ejemplos
1sudo shutdown now 2sudo shutdown -h +10 3sudo shutdown -r now 4sudo shutdown -c
📘 Excelente para explicar permisos y administración del sistema.
reboot #
Reinicia el sistema inmediatamente.
1sudo reboot
📌 Equivale a shutdown -r now
halt #
Detiene el sistema (sin apagar necesariamente la energía).
1sudo halt
📘 Más conceptual que práctico hoy en día.
poweroff #
Apaga completamente el sistema.
1sudo poweroff
📌 Similar a shutdown -h now
3. Fecha y tiempo #
date #
Muestra o modifica la fecha/hora del sistema.
Opciones clave
"+%d/%m/%Y"→ formato personalizado"+%H:%M:%S"→ hora-s→ establecer fecha (root)
Ejemplos
1date 2date "+%d/%m/%Y" 3date "+%H:%M:%S" 4sudo date -s "2026-01-27 16:30:00"
📘 El formateo de date es muy útil para scripts y logs. En sistemas con sincronización de red, gestiona la hora con las herramientas del sistema, como timedatectl, en vez de ajustarla manualmente con date -s.
cal #
Muestra calendarios.
Opciones clave
cal→ mes actualcal 2026→ año completocal 1 2026→ enero 2026-y→ año actual completo
Ejemplos
1cal 2cal -y 3cal 2026 4cal 3 2025
4. Diagnóstico y depuración #
lsof #
Lista archivos abiertos (incluye sockets y puertos).
Opciones clave
-i→ conexiones de red-i :80→ puerto específico-u usuario-p PID
Ejemplos
1lsof 2lsof -i 3lsof -i :3000 4lsof -u alumno 5lsof -p 1234
🔥 Clave para explicar “¿por qué este puerto está ocupado?”
strace #
Traza llamadas al sistema de un proceso.
Opciones clave
-p PID→ enganchar a proceso existente-o archivo→ guardar salida-c→ resumen estadístico
Ejemplos
1strace ls 2strace -p 1234 3strace -o trace.txt node app.js 4strace -c python script.py
📘 Nivel avanzado – perfecto para alumnos curiosos.
5. Monitorización y rendimiento #
watch #
Ejecuta un comando repetidamente.
Opciones clave
-n segundos→ intervalo-d→ resalta cambios
Ejemplos
1watch date 2watch -n 1 free -h 3watch -d ls -l
📌 Ideal para monitorizar logs, memoria, procesos…
time #
Mide cuánto tarda un comando en ejecutarse.
Salida
real→ tiempo totaluser→ CPU del usuariosys→ llamadas al sistema
Ejemplos
1time ls 2time find / -name "*.log" 3time python script.py
📘 Muy útil para hablar de rendimiento y optimización.
Resumen del tema
Conceptos clave #
- Apagado y Reinicio:
shutdown -h now(apagar),shutdown -r now/reboot(reiniciar). - Fecha y Hora:
date(mostrar/formatear fecha para scripts y logs) ycal(calendario). - Diagnóstico con
lsof(List Open Files): inspección de descriptores de archivos y conexiones de red (lsof -i :3000detecta qué proceso ocupa un puerto). - Trazado de Syscalls con
strace: depuración profunda de llamadas al sistema operativo de un proceso. - Monitorización Continua (
watch): ejecución periódica de comandos con refresco visual (watch -n 1 free -h). - Medición de Tiempos (
time): análisis de rendimiento desglosando tiempo real, CPU de usuario y llamadas al kernel.
Qué debes recordar #
Usa lsof -i :PUERTO para resolver conflictos de puertos ocupados y watch para monitorizar comandos en tiempo real de forma automatizada.