🐧 Laboratorio Virtual ASIR
Administración de Sistemas Operativos · 2º ASIR · Bash, Linux y Administración
0 Ejercicios completados
203 Ejercicios totales
11 Módulos disponibles
Práctica Modo activo
🖥️

Bash Scripting

Variables, bucles, funciones, scripts completos

0/60
0%
🔀

Estructuras de Control

if/elif/else, case, transformaciones entre estructuras

0/60
0%
⚙️

Procesos y Servicios

ps, kill, jobs, fg, bg, gestión de procesos

0/6
0%
👤

Usuarios y Permisos

useradd, chmod, chown, /etc/passwd, grupos

0/6
0%
🌐

Redes y Configuración

ip, ping, ss, rutas, interfaces de red

0/6
0%
📂

Variables de Entorno y Rutas

$PATH, $HOME, export, which, whereis, /bin, /usr/bin

0/9
0%
🔄

Transformaciones Avanzadas

if→case, case→if, corrección semántica, ordenar bloques

0/8
0%

Cron y Tareas Programadas

Sintaxis crontab, *, /, rangos, crontab -e/-l/-r

0/9
0%
📋

Logs y Redirección

/var/log/, tail -f, journalctl, >, >>, 2>, &>

0/7
0%
📡

Procesos y Señales Avanzado

SIGTERM vs SIGKILL, SIGHUP, pkill, killall, ps aux

0/8
0%
🧩

Scripting Reforzado

Corrección y transformación if/case, bucles for/while/until, scripts combinados

0/24
0%
🖥️

Sandbox Terminal

Ejecuta scripts Bash en el navegador

📖

Apuntes

Teoría, tablas y ejemplos por tema

📝

Modo Práctica

Con pistas y soluciones

🎯

Modo Evaluación

Sin pistas, registra progreso

🔁

Repaso Rápido

Flashcards de todos los módulos

📝

Simulador de Examen

15 preguntas con temporizador

Mis Errores

Repasa los ejercicios fallados

📝

Mis Notas

Todas tus anotaciones por módulo

📚

Glosario

Términos clave de sysadmin

🛠️

Scripts Reales

Scripts de admin comentados

🖥️ Bash Scripting
VAR=valor Asignar variable (sin espacios)
echo $VAR Expandir variable
$(comando) Sustitución de comando
if [ cond ]; then Inicio de condicional
elif [ cond ]; then Condición adicional
fi Cierre de if
for i in {1..10}; do Bucle for con rango
while [ cond ]; do Bucle while
done Cierre de for/while
nombre() { ... } Definir función
$1, $2, $@, $# Argumentos del script/función
$? Código de salida del último comando
🔀 Estructuras de Control
case "$VAR" in Inicio de case
patron) Patrón del case (termina en )
p1|p2) Patrón OR en case
;; Fin de bloque case
*) Comodín case (equivale a else)
esac Cierre de case
[ -z "$V" ] Comprobar variable vacía
[ -n "$V" ] Comprobar variable no vacía
[ $N -gt 0 ] Comparación numérica mayor que
-eq -ne -lt -le -gt -ge Operadores numéricos en [ ]
⚙️ Procesos y Señales
ps aux Listar todos los procesos
kill -15 PID SIGTERM — terminar elegantemente
kill -9 PID SIGKILL — terminar forzosamente
kill -1 PID SIGHUP — recargar configuración
kill -19 PID SIGSTOP — suspender proceso
pkill nombre Terminar por nombre (parcial)
killall nombre Terminar por nombre (exacto)
pgrep nombre Buscar PID por nombre
jobs Listar jobs del shell actual
fg %N Traer job N al primer plano
bg %N Reanudar job N en segundo plano
comando & Ejecutar directamente en background
👤 Usuarios y Permisos
useradd -m usuario Crear usuario con directorio home
passwd usuario Cambiar contraseña de usuario
usermod -aG grupo usr Añadir usuario a grupo (sin quitar otros)
userdel -r usuario Borrar usuario y su home
id usuario Ver UID, GID y grupos
chmod 755 fichero Cambiar permisos (octal)
chmod u+x fichero Cambiar permisos (simbólico)
chown usr:grp fich Cambiar propietario y grupo
r=4 w=2 x=1 Valores octal de permisos rwx
🌐 Redes y Configuración
ip addr Ver interfaces y direcciones IP
ip route show Ver tabla de rutas
ip addr add IP/M dev IF Asignar IP temporalmente
ip link set IF up/down Activar/desactivar interfaz
ping -c 4 host Ping limitado a 4 paquetes
ss -tulpn Puertos TCP/UDP en escucha
ip route add default via GW Añadir ruta por defecto
📂 Variables de Entorno y Rutas
echo $PATH Ver el PATH actual
export PATH=$PATH:/dir Añadir directorio al PATH
which comando Localizar ejecutable en PATH
whereis comando Localizar binario, fuente y manual
type comando Tipo: builtin, alias o ejecutable
export VAR=valor Exportar variable para subprocesos
env Listar todas las variables de entorno
source ~/.bashrc Recargar configuración del shell
⏰ Cron y Tareas Programadas
crontab -e Editar crontab del usuario actual
crontab -l Listar crontab actual
crontab -r Eliminar crontab (¡cuidado!)
* * * * * cmd Cada minuto (m h dom mon dow)
0 0 * * * Cada día a medianoche
*/15 * * * * Cada 15 minutos
0 8 * * 1 Lunes a las 8:00 AM
0 6 1 * * Primer día de mes a las 6 AM
📋 Logs y Redirección
cmd > fichero Redirigir stdout (sobreescribe)
cmd >> fichero Añadir stdout al final del fichero
cmd 2> errores Redirigir stderr
cmd &> todo.log Redirigir stdout y stderr juntos
cmd 2>/dev/null Descartar stderr
tail -f fichero Seguir log en tiempo real
tail -n 50 fichero Últimas 50 líneas
journalctl -u servicio Logs de un servicio systemd
journalctl -b Logs desde el último arranque
/var/log/auth.log Log de autenticación (Debian/Ubuntu)