Files
linux-practice/COURSE.md

147 lines
6.3 KiB
Markdown
Raw Normal View History

# 📚 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` 使用文档
还是先调整下课程内容?😄