Curso sobre comandos de linux
🗂️ Comandos del módulo
| Qué quiero hacer | Linux | Windows CMD | PowerShell |
|---|---|---|---|
| Pausar ejecución | sleep | timeout | Start-Sleep |
| Ejecutar una tarea una sola vez en el futuro | at | schtasks /create /sc once | Register-ScheduledTask |
| Automatizar tareas periódicas | cron | Programador de tareas | Programador de tareas |
| Gestionar tareas programadas | crontab | schtasks | Get-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→ minutosh→ horasd→ 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ón | Significado |
|---|---|
atq | Ver tareas programadas |
atrm ID | Eliminar una tarea |
-f archivo | Ejecutar 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ón | Significado |
|---|---|
-e | Editar tareas |
-l | Listar tareas |
-r | Borrar todas |
-u usuario | Gestionar crontab de otro usuario (root) |
🧩 Formato de una tarea cron
1MIN HORA DIA MES DIA_SEMANA COMANDO
| Campo | Valores |
|---|---|
| MIN | 0-59 |
| HORA | 0-23 |
| DIA | 1-31 |
| MES | 1-12 |
| DIA_SEMANA | 0-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) cronno muestra errores, hay que loguear
🧠 Comparativa rápida (muy buena para diapositiva)
| Comando | Uso |
|---|---|
sleep | Pausa |
at | Una vez |
cron | Servicio |
crontab | Programación periódica |