Curso sobre comandos de linux

🗂️ Comandos del módulo

Qué quiero hacerLinuxWindows CMDPowerShell
Pausar ejecuciónsleeptimeoutStart-Sleep
Ejecutar una tarea una sola vez en el futuroatschtasks /create /sc onceRegister-ScheduledTask
Automatizar tareas periódicascronProgramador de tareasProgramador de tareas
Gestionar tareas programadascrontabschtasksGet-ScheduledTask

💤 sleep — Pausar la ejecución

📌 ¿Qué hace?

Detiene la ejecución de un script o comando durante un tiempo determinado.


🔧 Sintaxis básica

1sleep TIEMPO

El tiempo puede indicarse en:

  • s → segundos (por defecto)
  • m → minutos
  • h → horas
  • d → días

🔑 Modificadores importantes

👉 sleep no tiene flags, lo importante son las unidades de tiempo.


✅ Ejemplos

1sleep 5

⏸ Pausa 5 segundos

1sleep 2m

⏸ Pausa 2 minutos

1echo "Empieza"; sleep 3; echo "Termina"

⏱ Introduce una pausa entre comandos


💡 Uso típico

  • Scripts
  • Simulaciones
  • Esperar a que otro proceso termine

at — Ejecutar un comando una sola vez en el futuro

📌 ¿Qué hace?

Programa un comando para que se ejecute una vez en un momento concreto.

⚠️ Necesita que el servicio atd esté activo.


🔧 Sintaxis básica

1at HORA

🔑 Modificadores importantes

OpciónSignificado
atqVer tareas programadas
atrm IDEliminar una tarea
-f archivoEjecutar comandos desde un archivo

✅ Ejemplos

1at 18:30

Luego escribes:

1echo "Hola desde el futuro" >> ~/mensaje.txt
2Ctrl+D

📌 Se ejecuta hoy a las 18:30


1at now + 10 minutes

Ejecuta el comando dentro de 10 minutos


1atq

Lista tareas pendientes

1atrm 2

Borra la tarea con ID 2


💡 Cuándo usar at

  • Tareas puntuales
  • Recordatorios
  • Acciones únicas (backup, apagado, aviso…)

🔁 cron — Automatización periódica

📌 ¿Qué es?

Servicio del sistema que ejecuta tareas de forma repetitiva (diaria, semanal, etc.).

El usuario no ejecuta cron directamente, se configura con crontab.


🧠 crontab — Editor de tareas programadas

📌 ¿Qué hace?

Gestiona las tareas periódicas del usuario.


🔧 Sintaxis básica

1crontab -e

🔑 Modificadores importantes

OpciónSignificado
-eEditar tareas
-lListar tareas
-rBorrar todas
-u usuarioGestionar crontab de otro usuario (root)

🧩 Formato de una tarea cron

1MIN HORA DIA MES DIA_SEMANA COMANDO
CampoValores
MIN0-59
HORA0-23
DIA1-31
MES1-12
DIA_SEMANA0-7 (domingo = 0 o 7)

✅ Ejemplos típicos

1* * * * * echo "Hola" >> ~/cron.txt

🕐 Cada minuto


10 8 * * * echo "Buenos días" >> ~/saludo.txt

🌅 Todos los días a las 08:00


10 0 * * 1 echo "Es lunes" >> ~/lunes.txt

📅 Todos los lunes a medianoche


1*/5 * * * * echo "Cada 5 minutos" >> ~/log.txt

⏱ Cada 5 minutos


❗ Detalles importantes para alumnos

  • El PATH es limitado → usar rutas completas (/usr/bin/node)
  • No hay terminal → redirigir salida (>> archivo.txt)
  • cron no muestra errores, hay que loguear

🧠 Comparativa rápida (muy buena para diapositiva)

ComandoUso
sleepPausa
atUna vez
cronServicio
crontabProgramación periódica