Files
linux-practice/COURSE.md
likingcode 5686831d9a feat: Linux练习平台
- Web界面Linux命令练习
- Python后端 + sandbox安全沙箱
- 课程和任务管理
2026-03-07 05:43:51 +00:00

147 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 📚 Linux 命令学习课程体系(入门 → 高手)
> 学习路径:**理论 → 演示 → 沙盒练习 → 测试 → 徽章认证**
---
## 🌱 Level 1入门新手村
### 🎯 目标:熟悉终端、查看文件、当前目录、简单操作
| 课时 | 主题 | 学习内容 | 沙盒练习目标 | 测试场景 |
|------|------|---------|-------------|---------|
| 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 的内容 |
**徽章**` beginner_1 ← 目录旅行者`
---
## 🚀 Level 2文件操作手艺人
### 🎯 目标:创建、复制、移动、删除(安全版)、查看
| 课时 | 主题 | 学习内容 | 沙盒练习目标 | 测试场景 |
|------|------|---------|-------------|---------|
| 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搜索高手情报员
### 🎯 目标:快速定位、查找、筛选内容
| 课时 | 主题 | 学习内容 | 沙盒练习目标 | 测试场景 |
|------|------|---------|-------------|---------|
| 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文本编辑文字工作者
### 🎯 目标:预览/编辑文本(只读模式)
| 课时 | 主题 | 学习内容 | 沙盒练习目标 | 测试场景 |
|------|------|---------|-------------|---------|
| 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高级技巧小黑客
### 🎯 目标:权限、查找大文件、进程、自动化
| 课时 | 主题 | 学习内容 | 沙盒练习目标 | 测试场景 |
|------|------|---------|-------------|---------|
| 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实战项目通关玩家
### 🎯 综合应用:解决真实场景
| 场景 | 任务 | 所需命令 | 难度 |
|------|------|----------|------|
| 📁 备份项目 | 将 `/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` | ⚔️⚔️⚔️⚔️⚔️ |
---
## 🏆 完整通关徽章体系
```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 大师 (所有课程 + 心得分享)
```
---
## 📝 测验模式设计
每个课时结束后,自动弹出:
```bash
🎯 当前任务_____________
💡 提示_________________
(stdin) > [输入命令]
✅ 回答正确!获得经验值 +100
❌ 还未达标!提示:试试 `xxx`
```
答对 3 次 → 解锁下一关
---
## 🎯 课程特色
-**零风险沙盒**:所有命令在虚拟环境中执行,不会影响真实系统
-**闯关式学习**:从入门到高手,逐步解锁新技能
-**即时反馈**:答对/错都有针对性提示
-**实战导向**:每个级别都有真实业务场景
-**徽章认证**:每完成一个阶段获得专属徽章
---
需要我根据这个课程体系开始实现吗?包括:
1. `COURSE_TASKS.json`(所有练习题)
2. 沙盒模拟器 `sandbox.py`
3. 熟悉 `server.py` 重构
4. UI 改造(闯关式界面)
5. `README.md` 使用文档
还是先调整下课程内容?😄