# linux-learn **Repository Path**: corrival-people/linux-learn ## Basic Information - **Project Name**: linux-learn - **Description**: 有助于学习Linux命令 - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-04 - **Last Updated**: 2026-09-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🐧 终端勇者 Terminal Adventure > 在浏览器里跑一个**真实的 Linux 内核**来学命令——不是模拟器,是 v86(WebAssembly x86 模拟器)把 Buildroot Linux 6.8.12 + BusyBox 完整跑起来,你在终端里敲的每一条命令都由真实内核执行。 ![platform](https://img.shields.io/badge/platform-Web-brightgreen) ![version](https://img.shields.io/badge/version-v1.0.0-important) ![kernel](https://img.shields.io/badge/kernel-Buildroot%20Linux%206.8.12-blue) ![engine](https://img.shields.io/badge/engine-v86%20(WebAssembly)-orange) ![tech](https://img.shields.io/badge/tech-纯前端单文件-9cf) ## ✨ 特性 - **真内核,非模拟**:基于 v86 在浏览器内启动完整的 Linux 内核,`ls`、`grep`、`tar`、管道重定向全部由 BusyBox 真实执行,命令行为与真机一致 - **三种模式**:闯关模式(剧情化十六关三幕:夜班救援 → 斩草除根 → 终极巡检,含战利品奖励)、自由模式(随便折腾,可随时重置环境)、练习模式(9 大模块 48 道小案例题) - **按模块分组的小案例题库**:导航定位 / 查看文件 / 搜索文本 / 处理文本 / 文件操作 / 进程资源 / 管道重定向 / 打包压缩 / 系统信息,每题都是"小任务"驱动,不是敲一条命令就完事 - **成就系统**:18 项徽章(十六关闯关 + 全通 + 模块全通 + 计数),学完一个模块点亮一枚 - **零部署本地运行**:不需要 Docker、不需要安装依赖,一个浏览器 + 本地静态服务即可 - **隐私友好**:内核镜像与运行全部在本地,不依赖外部 CDN,离线可用 ## 🖼 界面一览 ![终端勇者主视觉](terminal-adventure-poster-9x16.png) ## 🚀 快速开始 ### 方式一:一键脚本(推荐) 项目根目录提供了两个无需展示窗口的脚本,双击即用: | 脚本 | 作用 | | --- | --- | | `启动终端勇者.vbs` | 隐藏窗口启动本地服务器,并自动打开浏览器 | | `停止终端勇者.vbs` | 关闭本地服务器 | > 脚本会自动检测端口是否已在运行,避免重复启动;关闭时只结束本项目对应的进程,不影响其它 Python 程序。 ### 方式二:命令行 ```bash # 进入项目下的应用目录 cd linux-terminal-adventure # 启动本地静态服务(Python 3) python -m http.server 8123 ``` 浏览器打开 。 > 首次加载需要启动内核,约 10~20 秒,页面会有"Linux 已就绪"状态提示;之后即为完整可交互的终端。 ## 🎮 使用说明 进入页面后在顶部切换三种模式: - **闯关模式**:剧情化十六关,三条主线推进——第一幕·夜班救援(侦察 cat → 搜证 grep → 管道 grep -c → 隐匿 ls -a → 权限 chmod → 档案 tar → 追踪 grep → 终局拼接);第二幕·斩草除根(大扫除 find → 去重画像 cut/sort/uniq → 潜行搜捕 grep -r → 斩草除根 rm);第三幕·终极巡检(巡诊 ps → 通联 ping → 炼金 awk → 权限密码 chmod 数字)。每关有剧情、提示和战利品奖励,通关进度自动保存 - **自由模式**:无任务约束,随意练习命令;侧栏有常用命令速查卡 - **练习模式**:左侧按模块分组的小案例题库,点开某组选一道题,按题面"小任务"在终端里完成,自动判定并点亮成就。卡住时可点"显示提示";同一命令敲错 3 次也会自动给提示 所有进度(闯关 / 练习 / 成就)都保存在浏览器本地(localStorage),无需账号。 ## 📁 目录结构 ```text linux-learn/ ├── linux-terminal-adventure/ # 应用本体 │ ├── index.html # 全部功能(HTML+CSS+JS 单文件) │ └── buildroot-bzimage68.bin # 本地内核镜像(约 10MB) ├── DOCUMENTATION.md # 项目文档(功能/架构/限制/测试) ├── CHANGELOG.md # 变更日志 ├── _attachments/ │ └── linux-stack.svg # 五层架构图 ├── 启动终端勇者.vbs # 一键启动脚本(无窗口) └── 停止终端勇者.vbs # 一键停止脚本(无窗口) ``` ## 🧱 技术栈与架构 | 层 | 实现 | | --- | --- | | 内核 | Buildroot Linux 6.8.12 + BusyBox(278 个命令) | | 模拟器 | v86 0.5.458(WebAssembly,本地加载,无 CDN 依赖) | | BIOS/VGA | SeaBIOS + VGABIOS(v86 配套) | | 终端仿真 | 自研 ANSI 终端仿真器(CSI 状态机、2000 行回滚缓冲、光标编辑) | | 前端 | 原生 HTML/CSS/JS 单文件,无框架 | | 持久化 | localStorage(闯关 / 练习 / 成就进度) | 整体是"真实内核 + 浏览器壳"的组合——内核、BIOS、模拟器全部在本地,前端只负责把串口字节渲染成可交互终端。架构细节见 [五层架构图](_attachments/linux-stack.svg) 与 [DOCUMENTATION.md](DOCUMENTATION.md)。 ## 📚 文档 - [项目文档 DOCUMENTATION.md](DOCUMENTATION.md):功能范围、限制(与真实 Linux 的差异)、测试方法 - [变更日志 CHANGELOG.md](CHANGELOG.md):历次重大改动记录 - [版本号管理指南 docs/versioning-guide.md](docs/versioning-guide.md):本项目的语义化版本策略与发布流程 - [一键发布脚本 release.py](release.py):自动定版本号 → 更新 README/CHANGELOG → 提交 → 打 tag → 推送(`python release.py --dry-run` 预览,`--bump minor/patch` 指定递增级别) ## 🏷 版本 版本号遵循[语义化版本 2.0.0(SemVer)](https://semver.org/lang/zh-CN/spec/v2.0.0.html):`主版本号.次版本号.修订号`。Git 标签以 `v` 前缀标注,如 `v1.0.0`。 | 版本 | 日期 | 说明 | | --- | --- | --- | | v1.0.0 | 2026-09-04 | 首个正式版:三幕十六关闯关 + 战利品奖励 + 48 道小案例练习 + 18 项成就 + 一键启停脚本 + 双语 README | > 在 v1.0.0 之前,本项目处于快速迭代的 0.x 阶段(无正式版本号),主要演进见 [CHANGELOG.md](CHANGELOG.md)。 ## 🤝 参与贡献 欢迎提 Issue 与 PR: 1. Fork 本仓库 2. 新建特性分支(`feat/xxx`) 3. 提交改动并推送 4. 新建 Pull Request ## 📄 License 本仓库当前未添加 LICENSE 文件,保留所有权利。如计划公开使用,请先补充开源协议(推荐 MIT)。