📝 SIMULADOR DE EXAMEN — 15 preguntas · sin pistas
⏱ 45:00
Cambiar la duración genera un examen nuevo.
1 Persistencia de variables en .bashrc 📂 N3 Escribir código
Escribe un script que:
1. Compruebe si la línea export ASIRLAB_HOME=/opt/asirlab ya existe en ~/.bashrc
2. Si NO existe, la añada al final del fichero
3. Muestre un mensaje indicando si se añadió o ya existía
2 Corregir for con aritmética errónea 🧩 N3 Corregir
Este bucle calcula cuadrados pero tiene 3 errores (apertura, aritmética y cierre):
#!/bin/bash for ((i=1; i<=5; i++)) CUADRADO=i*i echo "$i al cuadrado es $CUADRADO"
3 journalctl — logs del sistema con systemd 📋 N2 Completar
Completa los comandos con journalctl:
1. Ver los logs del servicio apache2
2. Ver logs desde el último arranque del sistema
3. Seguir los logs en tiempo real con prioridad error o superior
# Logs de un servicio concreto journalctl ___ apache2 # Desde el último arranque journalctl ___ # En tiempo real, solo errores journalctl ___ -p err
4 Corregir estructura case mal planteada 🔀 N2 Corregir
El siguiente script con case tiene 4 errores. Encuéntralos y corrígelos.
#!/bin/bash NOTA=$1 case $NOTA 10) echo "Sobresaliente" ;; 7|8|9 echo "Notable" ;; 5|6) echo "Aprobado" *) echo "Suspenso" ;; case
5 Puertos y servicios con ss 🌐 N2 Opción múltiple
¿Qué comando muestra todos los puertos TCP en escucha (LISTEN) con el nombre del proceso que los usa?
6 Bucle for con rango 🖥️ N2 Completar
Completa el script para que muestre los números del 1 al 10, uno por línea, usando un bucle for con sintaxis de rango.
#!/bin/bash for i in ___ do echo $i done
7 Directorios del sistema: /bin vs /usr/bin 📂 N2 Opción múltiple
¿Cuál es la diferencia principal entre /bin y /usr/bin en un sistema Linux moderno?
8 Corregir if anidado con 4 errores 🧩 N3 Corregir
Este script tiene 4 errores (then, corchetes, operador y fi). Corrígelos todos:
#!/bin/bash USUARIO=$1 UID_VAL=$2 if [ "$USUARIO" = "root" ] echo "Superusuario" elif [ "$UID_VAL" = 0 ]; then echo "Otro UID 0" elif [ "$UID_VAL" -lt 1000]; then echo "Usuario del sistema" else echo "Usuario normal"
9 Corregir comparación de cadenas 🧩 N2 Corregir
Este script compara cadenas pero usa el operador equivocado. Tiene 2 errores:
#!/bin/bash MODO=$1 if [ $MODO -eq "produccion" ]; then echo "Entorno productivo" else echo "Entorno de pruebas" fi
10 Configuración de red con ip 🌐 N2 Completar
Configura temporalmente la interfaz eth0:
1. Asignar la IP 10.0.0.5/24
2. Levantar la interfaz
3. Añadir la ruta por defecto por la puerta de enlace 10.0.0.1
# Asignar IP a eth0 ip addr add ___ dev eth0 # Activar interfaz ip link set eth0 ___ # Añadir ruta por defecto ip route add default via ___
11 Corregir bucle until 🧩 N2 Corregir
Este bucle until tiene 2 errores. Corrígelos:
#!/bin/bash N=0 until [ $N -ge 3 ; do echo "N vale $N" N=$((N+1))
12 Script de escaneo de red local 🌐 N3 Escribir código
Escribe un script que haga ping a las IPs de la red 192.168.1.1 a 192.168.1.20 y muestre cuáles responden. Usa un bucle for y ping -c 1 -W 1.
13 Caracteres especiales en cron ⏰ N2 Completar
Completa las líneas crontab usando caracteres especiales:
1. Cada 15 minutos → usa */15
2. El primer día de cada mes a las 6 AM
3. Los lunes, miércoles y viernes a las 12:00 (mediodía)
4. Entre las 9 AM y las 5 PM, cada hora (rango con -)
# Cada 15 minutos ___ * * * * /scripts/ping.sh # Primer día de mes a las 6 AM 0 6 ___ * * /scripts/mensual.sh # Lunes, miércoles y viernes al mediodía 0 12 * * ___ /scripts/reporte.sh # Cada hora de 9 a 17 0 ___ * * * /scripts/monitor.sh
14 Combinado: bucle con logging a fichero 🧩 N3 Escribir código
Escribe un script que:
1. Recorra con for los ficheros *.txt del directorio actual
2. Por cada uno, registre en /var/log/proceso.log una línea con la fecha ($(date)) y el nombre del fichero
3. Use >> para añadir al log sin borrarlo
15 Jobs, fg y bg ⚙️ N2 Opción múltiple
Ejecutas sleep 100 y presionas Ctrl+Z. La terminal muestra:
[1]+  Stopped                 sleep 100
¿Qué comando usarías para reanudar ese proceso en segundo plano?
✕ Salir