# linux-learning-platform **Repository Path**: starry-sea-1412/linux-learning-platform ## Basic Information - **Project Name**: linux-learning-platform - **Description**: 开源的交互式 Linux 中文学习平台:19 门课程 / 78 节课、浏览器内模拟沙盒(100+ 命令)、20 个带参考答案的实战场景挑战、速查表与成就系统。基于 Next.js 16 + React 19。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-05 - **Last Updated**: 2026-09-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: React, Linux, nextjs, TypeScript, shell ## README
开源的交互式 Linux 中文学习网站 · 19 门课程 / 78 节课 · 模拟沙盒 · 20 个实战场景挑战
 一个完全在浏览器中运行的 Linux 中文学习平台:课程、可交互的模拟终端沙盒、场景挑战、速查表和成就系统。不需要安装任何虚拟机,打开网页就能练。 > 技术栈:Next.js 16 (App Router) · React 19 · TypeScript · Tailwind CSS 4 · Framer Motion > 🌍 English documentation: [README.en.md](README.en.md) ## 📸 界面截图 | 首页 | 课程目录 | 模拟沙盒 | |------|----------|----------| |  |  |  | ## ✨ 功能 ### 📚 结构化课程(19 门 / 78 节) 覆盖从入门到进阶的完整路线,每节课按 **必学 🔴 / 重点 🟡 / 拓展 🔵** 分级: - **入门**:基础命令、文件系统、权限管理、用户管理、软件包管理、文本编辑器 - **中级**:进程管理、Shell 脚本、网络工具、系统管理、文本处理进阶、磁盘与存储、硬件管理、终端复用 - **高级**:性能调优、内核配置、容器与虚拟化(Docker/Podman/KVM)、安全加固、自动化运维(Ansible/Terraform) 每节课包含正文讲解、可复制的命令示例、沙盒练习任务和学习建议,完成章节后解锁课程总结卡。 ### 🖥️ 模拟 Linux 沙盒 自研的浏览器内 Linux 模拟引擎(`src/lib/linux-sandbox-engine.ts`),支持 **180+ 条命令**的真实交互: - Shell 变量:`export APP=demo` 后 `echo "$APP"`、`${APP}` 都能展开,单引号内保持字面量,`$?` 拿到上一条命令的退出码 - 虚拟文件系统:`ls / cd / mkdir / rm / cp / chmod / chown / ln …` 的行为与真实 Linux 一致 - 真实 tar 往返:打包 → 删除原目录 → 解包,文件原样还原 - 用户与权限模型:`useradd / sudo / passwd / chmod 600` 会产生真实的权限校验效果 - 沙盒内编辑器:`vim / nano` 打开模拟编辑器窗口,保存后真实写回文件系统 - 进程与服务模拟:`ps / top / htop / kill / killall / systemctl / journalctl / crontab` - 存储工具箱:`df / du / lsblk / fdisk / parted / mount / ioping / iostat / iotop / smartctl / hdparm / lsof` - 容器模拟:`docker / podman run -p 8080:80 nginx` 后真的能 `curl localhost:8080` - 压缩往返:`gzip a.txt` → `gunzip a.txt.gz`、`zip -r` → `unzip -d` 都能还原原始内容 - 网络排查:`ss -tulp` / `traceroute` / `mtr --report` / `tcpdump -i eth0 -c 5 -w cap.txt` - 后台与脚本:`nohup cmd &` 输出落到 `nohup.out`,`source env.sh` 在当前 shell 生效,`read` 从管道读变量 - LVM 三层、SELinux 模式、sysctl 调优等高级特性均有模拟 ### 🎯 场景挑战(20 个) 带剧情的实战演练:从"搭建 Web 服务器"到"凌晨 3 点 OOM 事故排查""SSH 遭暴力破解应急响应"。每个场景提供: - 初始故障现场(预置的日志 / 进程 / 文件状态) - 可逐条验证的任务目标 - 分层提示 - **参考答案**:实际遇到同类问题时逐条输入的命令与每一步的解释 ### 📊 速查表 · 学习路径 · 成就系统 - 分类速查表:90+ 条常用命令的语法、说明与示例 - 首页学习路径:10 步从零到进阶的推荐路线 - XP 与成就:完成课程和场景挑战获得经验值,解锁成就徽章 - 学习进度保存在浏览器 localStorage 中,无需注册登录 ### 🎬 交互动画 核心概念均配有可交互的动画演示:终端模拟、权限位可视化、进程 fork 流程、管道、systemctl、sed/awk、磁盘存储、Vim 模式等。 ## 🚀 快速开始 ```bash git clone https://gitee.com/starry-sea-1412/linux-learning-platform.git cd linux-learning-platform npm install npm run dev ``` 打开 [http://localhost:3000](http://localhost:3000) 即可使用。 其他命令: ```bash npm run build # 生产构建 npm run lint # ESLint 检查 ``` > 要求 Node.js 18.18+(推荐 20+)。 ## 📁 项目结构 ``` src/ ├── app/ # 页面路由(App Router) │ ├── course/[slug]/ # 课程详情页 │ ├── sandbox/ # 模拟沙盒 │ ├── challenges/ # 场景挑战 │ ├── cheatsheet/ # 速查表 │ └── path/ # 学习路径 ├── components/linux/ # Linux 专属组件(沙盒终端、动画、场景挑战等) ├── data/ # 课程 / 速查表 / 场景 / 成就 全部为声明式数据 │ ├── linux-courses.ts # 19 门课程的完整内容 │ ├── linux-scenarios.ts # 20 个场景挑战(含参考答案) │ └── linux-cheatsheet.ts ├── lib/linux-sandbox-engine.ts # 自研 Linux 模拟引擎 ├── hooks/ # 学习进度 / 成就 └── types/ # 领域类型定义 ``` 课程内容完全数据驱动——想新增课程或场景,只需在 `src/data/` 中添加条目,页面自动渲染。 ## 🤝 贡献 欢迎通过 Issue 指出错误、通过 PR 补充课程内容或场景挑战。新增命令模拟请参考 `linux-sandbox-engine.ts` 中现有 handler 的模式。 ## 📄 许可证 [MIT](LICENSE)