feat: redesign linux course around learning-first structure

This commit is contained in:
likingcode
2026-03-10 07:41:38 +08:00
parent dacc1cb735
commit 5ca924cadd
4 changed files with 902 additions and 827 deletions

319
COURSE.md
View File

@@ -1,147 +1,274 @@
# 📚 Linux 命令学习课程体系(入门 → 高手
# Linux 学习平台课程设计(重构版
> 学习路径:**理论 → 演示 → 沙盒练习 → 测试 → 徽章认证**
## 设计原则
这次课程重构,目标不再是“闯关刷题”,而是建立一套**适合系统学习 Linux 的知识结构**。
核心原则:
- **先理解,再操作**
- **先场景,再命令**
- **先最小可用,再扩展参数**
- **练习服务于理解,不反客为主**
- **每个模块都能迁移到真实工作场景**
---
## 🌱 Level 1入门新手村
## 新课程结构
### 🎯 目标:熟悉终端、查看文件、当前目录、简单操作
课程分为 6 大模块,不再按简单等级推进,而按学习逻辑推进。
| 课时 | 主题 | 学习内容 | 沙盒练习目标 | 测试场景 |
|------|------|---------|-------------|---------|
| 1 | `pwd` - 我在哪? | 当前工作目录 | `pwd` 返回 `/sandbox` | 问:你现在的位置是? |
| 2 | `ls` - 看看周围 | 列出目录内容 | `ls` 显示 `users projects logs` | 找出 `/sandbox` 下有几个子目录? |
| 3 | `cd` - 移动位置 | 切换目录 | `cd users` → 进入用户区 | 从 `/sandbox` 进到 `/projects` |
| 4 | `echo` - 说话 | 打印文本 | `echo "Hello Linux"` | 打印你的名字 |
| 5 | `cat` - 看内容 | 查看文件内容 | `cat users/alice.txt` | 读出 alice.txt 的内容 |
### 模块 1建立 Linux 基本认知
目标:先搞清楚“我在哪、我看到什么、我怎么移动”。
**徽章**` beginner_1 ← 目录旅行者`
包含内容:
- 什么是终端 / Shell
- 什么是当前目录
- 什么是绝对路径 / 相对路径
- `pwd`
- `ls`
- `cd`
- `echo`
- `cat`
输出能力:
- 能在目录中定位自己
- 能读懂基础路径
- 能查看基础文件内容
---
## 🚀 Level 2文件操作手艺人
### 模块 2文件与目录操作
目标:建立文件系统操作能力。
### 🎯 目标:创建、复制、移动、删除(安全版)、查看
包含内容:
- 文件与目录的区别
- 创建 / 复制 / 移动 / 删除
- `mkdir`
- `touch`
- `cp`
- `mv`
- `rm`
- `stat`
| 课时 | 主题 | 学习内容 | 沙盒练习目标 | 测试场景 |
|------|------|---------|-------------|---------|
| 6 | `touch` - 创建空文件 | 创建新文件 | `touch mynote.txt` | 创建一个名为 `test.txt` 的文件 |
| 7 | `cp` - 复制 | 复制文件/目录 | `cp users/alice.txt backup/` | 复制 `project/backend/app.py``archive/` |
| 8 | `mv` - 移动/重命名 | 移动或重命名 | `mv old.txt new.txt` | 把 `logs/access.log` 重命名为 `old_access.log` |
| 9 | `mkdir` - 创建目录 | 创建级联目录 | `mkdir -p a/b/c` | 创建 `myproject/src/main` |
| 10 | `head/tail` - 看头尾 | 查看文件前/后几行 | `tail -n 5 logs/access.log` | 查看 `app.py` 最后 3 行 |
**徽章**` beginner_2 ← 文件管理员`
输出能力:
- 能完成日常文件整理
- 能理解“创建、备份、迁移、清理”四种动作
---
## 🔍 Level 3搜索高手情报员
### 模块 3阅读与筛选信息
目标:学会从文件和日志中找信息。
### 🎯 目标:快速定位、查找、筛选内容
包含内容:
- `head`
- `tail`
- `grep`
- `wc`
- `sort`
- `find`
- 日志查看思路
- 搜索与过滤思路
| 课时 | 主题 | 学习内容 | 沙盒练习目标 | 测试场景 |
|------|------|---------|-------------|---------|
| 11 | `grep` - 搜索关键词 | 正则匹配文本 | `grep "Linux" *.txt` | 在 `users/` 下找包含 "Alice" 的文件 |
| 12 | `find` - 按条件找文件 | 时间/大小/类型 | `find /logs -type f -name "*.log"` | 找出所有 `.py` 文件 |
| 13 | `du` - 查看占用 | 磁盘使用情况 | `du -sh *` | 评估 `/projects` 每个子目录大小 |
| 14 | `sort` - 排序 | 排序输出 | `ls \| sort` | 按文件大小升序排列 `/logs` |
| 15 | `wc` - 统计 | 行/词/字节数 | `wc -l app.py` | `find /projects -type f \| wc -l` 有几个文件? |
**徽章**` intermediate_1 ← 情报专家`
输出能力:
- 能读日志
- 能查关键词
- 能定位配置文件
- 能做基础统计
---
## 🛠️ Level 4文本编辑文字工作者
### 模块 4系统状态与资源认知
目标:知道系统现在在干什么。
### 🎯 目标:预览/编辑文本(只读模式)
包含内容:
- 进程是什么
- 磁盘 / 内存 / 挂载点是什么
- `ps`
- `top`
- `df`
- `du`
- `free`
- `mount`
- `history`
| 课时 | 主题 | 学习内容 | 沙盒练习目标 | 测试场景 |
|------|------|---------|-------------|---------|
| 16 | `nano/vim` 基础 | 只读模式(演示) | `view project/backend/app.py` | 显示文件内容(用 `cat` 替代 vim |
| 17 | `>`/`>>` 重定向 | 输出到文件 | `echo "test" > test.txt` | 把 `grep "def" app.py` 结果保存到 `methods.txt` |
| 18 | `|` 管道 | 连接命令 | `cat users/* \| grep Alice` | 找出所有包含 "Linux" 的内容 |
**徽章**` intermediate_2 ← 文字工匠`
输出能力:
- 能做基础排查
- 能看懂资源占用
- 能理解系统运行状态
---
## 🔐 Level 5高级技巧小黑客
### 模块 5网络与服务基础
目标:建立 Linux 运维里的连接意识。
### 🎯 目标:权限、查找大文件、进程、自动化
包含内容:
- 网络接口是什么
- 端口与监听是什么
- `ifconfig` / `ip addr`
- `ping`
- `ss` / `netstat`
- `curl`
- `wget`
- `which` / `whereis`
| 课时 | 主题 | 学习内容 | 沙盒练习目标 | 测试场景 |
|------|------|---------|-------------|---------|
| 19 | `find -size` - 找大文件 | 按大小查找 | `find / -size +100M` | 找出 `/logs` 下大于 10KB 的文件 |
| 20 | `chmod` 原理 | 权限概念(只读) | 解释 `rwxr-xr-x` | 问:`644` 是什么权限? |
| 21 | `ps`/`top` 基础 | 进程概念 | `ps aux \| grep python` | 找出所有 `java` 进程 |
| 22 | `history` - 命令历史 | 查看历史 | `history \| tail -n 10` | 看最近 3 条执行的命令 |
| 23 | `man` - 查手册 | 查帮助 | `man ls`(模拟) | 问:`ls -a` 是什么作用? |
**徽章**` advanced_1 ← 系统法师`
输出能力:
- 能判断服务通不通
- 能理解“域名、端口、监听、请求”的基本关系
---
## 🎓 Level 6实战项目通关玩家
### 模块 6权限、习惯与实际运维思维
目标:从“会敲命令”过渡到“知道为什么这么做”。
### 🎯 综合应用:解决真实场景
包含内容:
- 权限模型基础
- `chmod`
- `chown`
- `chgrp`
- `alias`
- `export`
- `tar`
- `crontab`
- 常见运维习惯
- 风险命令认知
| 场景 | 任务 | 所需命令 | 难度 |
|------|------|----------|------|
| 📁 备份项目 | 将 `/projects` 下所有 `.py` 文件备份到 `/backup` | `find`, `cp`, `mkdir` | ⚔️⚔️⚔️ |
| 🔎 搜索日志 | 找出所有包含 `"error"` 的日志行 | `grep`, `find`, `cat` | ⚔️⚔️⚔️⚔️ |
| 📏 磁盘分析 | 写出 `/projects` 中最大的 3 个文件 | `du`, `sort`, `tail` | ⚔️⚔️ |
| 📝 生成报告 | 把所有 `.py` 文件的行数统计保存到 `stats.txt` | `wc`, `find`, `>` | ⚔️⚔️⚔️⚔️⚔️ |
| 🔐 权限检查 | 找出所有`.sh` 脚本并检查权限是否为 `755` | `find`, `stat`, `grep` | ⚔️⚔️⚔️⚔️⚔️ |
输出能力:
- 能理解权限修改的意义
- 能建立基础运维安全感
- 能开始形成 Linux 使用习惯
---
## 🏆 完整通关徽章体系
## 每个课时的新结构
```bash
beginner_1 ← 目录旅行者 pwd/ls/cd
beginner_2 ← 文件管理员 touch/cp/mv/mkdir
intermediate_1 ← 情报专家 grep/find/du/sort/wc
intermediate_2 ← 文字工匠 cat/echo/pipe/redirection
advanced_1 ← 系统法师 find-size/chmod/ps/history/man
expert_1 ← 实战大师 (综合项目通关)
legend ← Linux 大师 (所有课程 + 心得分享)
```
每一课统一用下面 6 段结构:
### 1. 学什么
一句话说清这个命令/主题在解决什么问题。
### 2. 为什么重要
它在真实 Linux 使用、开发、运维里有什么价值。
### 3. 核心知识点
包括:
- 命令作用
- 常见参数
- 常见组合
- 输出怎么看
- 容易误解的点
### 4. 最小示例
给 2~4 个最有代表性的示例。
### 5. 常见场景
把命令放进真实场景里:
- 查配置
- 查日志
- 找文件
- 看资源
- 改权限
### 6. 练习题
练习题不再喧宾夺主,而是用于确认理解。
---
## 📝 测验模式设计
## 练习设计原则
每个课时结束后,自动弹出
练习题分成 3 类
```bash
🎯 当前任务_____________
💡 提示_________________
(stdin) > [输入命令]
### A. 理解题
检验有没有理解命令用途。
例:
- 查看当前目录应该用什么命令?
- 为什么 `ls -a` 会比 `ls` 多看到东西?
✅ 回答正确!获得经验值 +100
❌ 还未达标!提示:试试 `xxx`
```
### B. 操作题
检验能否正确写出命令。
例:
- 进入 `/tmp`
- 查找 `/etc` 下所有 `.conf` 文件
答对 3 次 → 解锁下一关
### C. 场景题
检验是否能把命令放进真实问题中。
例:
- 日志太大,不想全看,只看最后 20 行怎么办?
- 想找出包含 `error` 的日志应该怎么做?
---
## 🎯 课程特色
## 页面呈现结构(学习优先)
-**零风险沙盒**:所有命令在虚拟环境中执行,不会影响真实系统
-**闯关式学习**:从入门到高手,逐步解锁新技能
-**即时反馈**:答对/错都有针对性提示
- **实战导向**:每个级别都有真实业务场景
- **徽章认证**:每完成一个阶段获得专属徽章
前端页面不再以“终端交互”为主,而改为:
### 左侧:课程目录
- 模块
- 小节
- 学习进度
### 中间:学习正文
- 概念讲解
- 示例
- 场景
- 总结
### 右侧:知识辅助
- 关键概念
- 易错点
- 相关命令
- 推荐练习
### 底部:练习区
- 简洁练习,不抢正文
- 只做必要反馈
- 重点是“学完再练”
---
需要我根据这个课程体系开始实现吗?包括:
1. `COURSE_TASKS.json`(所有练习题)
2. 沙盒模拟器 `sandbox.py`
3. 熟悉 `server.py` 重构
4. UI 改造(闯关式界面)
5. `README.md` 使用文档
## 新平台定位
还是先调整下课程内容?😄
重构后的 Linux 平台定位为:
> **Linux 系统学习平台 + 轻量练习环境**
不是刷题站,也不是单纯命令模拟器。
目标用户看到平台后,应该感受到:
- 这是能认真学东西的
- 不是只会点按钮
- 不是只会猜答案
- 学完真的能迁移到实际 Linux 使用场景
---
## 重构顺序
### 第一阶段:课程蓝图重构
- 重写课程结构
- 重写模块划分
- 重写题目组织方式
### 第二阶段:前 3 个模块内容重写
- Linux 基本认知
- 文件与目录操作
- 阅读与筛选信息
### 第三阶段:页面重构
- 课程目录页
- 学习正文页
- 轻练习区
### 第四阶段:后续模块补齐
- 系统状态
- 网络基础
- 权限与运维习惯
---
## 当前结论
这次不是“继续补旧平台”,而是:
> **把 Linux 平台从“交互导向”改造成“知识导向”的系统学习平台。**
后续所有改动,以这个文档为准。