Skip to content

LikeWindc/shell-learn-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shell 学习平台

一个基于 Web 的 Shell 命令学习平台,通过闯关模式帮助你掌握 Linux Shell 命令。

功能特点

  • 8 个学习模块,涵盖从基础到高级的 Shell 命令
  • 真实的命令执行环境,所有命令在服务器上真实运行
  • 渐进式学习:教学 → 练习 → 挑战
  • 实时反馈和进度追踪
  • XP 经验值系统和成就徽章

快速开始

环境要求

  • Docker
  • Docker Compose

启动步骤

  1. 克隆项目
git clone <repo-url>
cd study-shell
  1. 配置环境变量
cp .env.example .env
# 编辑 .env 文件,修改密码和密钥
  1. 启动服务
docker compose up -d
  1. 初始化数据库和课程数据
docker compose exec api npx prisma migrate deploy
docker compose exec api npm run seed
  1. 访问应用

打开浏览器访问 http://localhost

默认端口

  • 前端: 80 (通过 Nginx)
  • API: 3000 (内部)
  • PostgreSQL: 5432 (内部)
  • Redis: 6379 (内部)

学习模块

  1. 文件操作基础 - ls, cat, head, tail, touch, mkdir, rm, cp, mv
  2. 文本处理 - grep, sed, awk, wc, sort, uniq, cut, tr
  3. 文件权限与用户 - chmod, chown, whoami, id, groups
  4. 管道与重定向 - |, >, >>, <, 2>, tee, xargs
  5. 查找与定位 - find, locate, which, whereis, type
  6. 进程管理 - ps, top, kill, jobs, bg, fg, nohup
  7. 网络工具 - ping, curl, wget, ss, netstat, ip
  8. Shell 脚本基础 - 变量, 条件, 循环, 函数, 数组

技术栈

  • 前端: React 18 + TypeScript + Vite + Tailwind CSS + xterm.js
  • 后端: Node.js + Express + Prisma + PostgreSQL + Redis
  • 沙箱: Docker 容器隔离,资源限制
  • 部署: Docker Compose

安全特性

  • 命令在隔离的 Docker 容器中执行
  • 内存限制 256MB,CPU 限制 0.5 核
  • 禁止网络访问
  • 危险命令黑名单
  • 会话超时自动清理

开发模式

# 后端
cd backend
npm install
npm run dev

# 前端
cd frontend
npm install
npm run dev

项目结构

study-shell/
├── docker-compose.yml      # Docker Compose 配置
├── .env.example            # 环境变量模板
├── backend/                # 后端 API 服务
│   ├── Dockerfile
│   ├── package.json
│   ├── prisma/             # 数据库模型
│   └── src/                # 源代码
├── frontend/               # 前端应用
│   ├── Dockerfile
│   ├── package.json
│   └── src/                # 源代码
├── sandbox/                # 沙箱容器
│   └── Dockerfile
└── nginx/                  # Nginx 配置
    └── conf.d/

About

Shell learning platform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors