Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

🐧 Aula Virtual de Comandos Linux

Una aplicación web interactiva para aprender comandos de Linux con ejercicios prácticos y evaluación en tiempo real.

✨ Características

  • 📚 Lecciones Estructuradas: 8 lecciones organizadas por nivel de dificultad (Principiante, Intermedio, Avanzado)
  • 💻 Terminal Interactiva: Simulador de terminal para practicar comandos sin riesgo
  • ✅ Ejercicios Prácticos: Más de 30 ejercicios con validación automática de respuestas
  • 🏆 Sistema de Puntuación: Gana puntos por cada ejercicio completado
  • 📊 Seguimiento de Progreso: Visualiza tu avance en tiempo real
  • 💡 Sistema de Pistas: Ayuda contextual cuando lo necesites
  • 💾 Persistencia: Tu progreso se guarda automáticamente

🚀 Cómo Usar

Opción 1: Abrir directamente en el navegador

  1. Descarga o clona este repositorio
  2. Abre el archivo index.html en tu navegador web preferido
  3. ¡Comienza a aprender!

Opción 2: Usar un servidor local

# Con Python 3
python3 -m http.server 8000

# Con Python 2
python -m SimpleHTTPServer 8000

# Con Node.js (npx)
npx http-server

# Con PHP
php -S localhost:8000

Luego abre tu navegador en http://localhost:8000

📖 Contenido de las Lecciones

Nivel Principiante

  1. Navegación Básica

    • pwd, ls, cd
    • Moverte por el sistema de archivos
  2. Manipulación de Archivos

    • touch, mkdir, cp, mv, rm
    • Crear, copiar, mover y eliminar archivos
  3. Visualización de Contenido

    • cat, less, head, tail
    • Ver contenido de archivos

Nivel Intermedio

  1. Búsqueda y Filtrado

    • grep, find, wc
    • Buscar archivos y filtrar contenido
  2. Permisos y Usuarios

    • chmod, chown, sudo
    • Gestión de permisos
  3. Procesos y Sistema

    • ps, top, kill, df, free
    • Monitoreo del sistema

Nivel Avanzado

  1. Redirecciones y Tuberías

    • |, >, >>, <
    • Combinar comandos
  2. Compresión y Archivos

    • tar, gzip, zip, unzip
    • Trabajar con archivos comprimidos

🎮 Cómo Jugar

  1. Selecciona una Lección: Haz clic en una lección desbloqueada de la barra lateral
  2. Lee la Teoría: Aprende los conceptos y ejemplos
  3. Practica: Haz clic en "Ir a los Ejercicios"
  4. Escribe Comandos: Escribe el comando correcto en la terminal y presiona Enter
  5. Gana Puntos: Recibe puntos por cada respuesta correcta
  6. Progresa: Completa el 70% o más de los ejercicios para desbloquear la siguiente lección

💯 Sistema de Puntuación

  • Cada ejercicio tiene una puntuación base
  • Se penaliza por múltiples intentos (-3 puntos por intento adicional)
  • Se penaliza por usar pistas (-5 puntos)
  • Puntuación mínima por ejercicio: 5 puntos

🎯 Niveles de Usuario

  • Principiante: 0-49 puntos
  • Intermedio: 50-149 puntos
  • Avanzado: 150-299 puntos
  • Experto: 300+ puntos

🔧 Comandos Especiales de la Terminal

  • help - Muestra la ayuda de comandos disponibles
  • clear - Limpia la terminal

💾 Almacenamiento de Progreso

Tu progreso se guarda automáticamente en el navegador usando localStorage. Esto incluye:

  • Puntuación total
  • Lecciones completadas
  • Progreso general

🛠️ Tecnologías Utilizadas

  • HTML5
  • CSS3 (con variables CSS y animaciones)
  • JavaScript Vanilla (ES6+)
  • LocalStorage API

📱 Responsive Design

La aplicación está optimizada para:

  • Escritorio (1400px+)
  • Tablets (768px - 1400px)
  • Móviles (< 768px)

🤝 Contribuir

¿Quieres agregar más lecciones o mejorar la aplicación?

  1. Edita app.js para agregar nuevas lecciones al array lessonsDatabase
  2. Cada lección debe seguir esta estructura:
{
    id: 9,
    title: "Tu Título",
    difficulty: "beginner|intermediate|advanced",
    theory: "HTML con la teoría",
    examples: [
        { command: "comando", description: "descripción" }
    ],
    exercises: [
        {
            task: "Descripción de la tarea",
            command: "comando_correcto",
            hint: "Pista para el usuario",
            points: 10
        }
    ]
}

📄 Licencia

Este proyecto es de código abierto y está disponible para uso educativo.

📧 Soporte

Si encuentras algún problema o tienes sugerencias:

  • Abre un issue en el repositorio
  • Contacta al desarrollador

🎓 Recursos Adicionales

Para aprender más sobre Linux:


¡Disfruta aprendiendo Linux! 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages