feat: expand linux curriculum to ops-focused full-scenario blueprint
This commit is contained in:
359
COURSE.md
359
COURSE.md
@@ -1,274 +1,281 @@
|
||||
# Linux 学习平台课程设计(重构版)
|
||||
# Linux 学习平台课程设计(运维全场景重构版)
|
||||
|
||||
## 总目标
|
||||
|
||||
这套课程不再只是 Linux 命令入门,也不是答题闯关页,而是:
|
||||
|
||||
> **面向运维强相关场景的 Linux 系统学习平台**
|
||||
|
||||
目标是帮助学习者逐步形成三层能力:
|
||||
1. **命令理解能力**:知道命令在解决什么问题
|
||||
2. **系统认知能力**:知道 Linux 系统是怎么组织和运行的
|
||||
3. **运维场景能力**:知道遇到问题时该用哪组命令排查和处理
|
||||
|
||||
---
|
||||
|
||||
## 设计原则
|
||||
|
||||
这次课程重构,目标不再是“闯关刷题”,而是建立一套**适合系统学习 Linux 的知识结构**。
|
||||
|
||||
核心原则:
|
||||
- **先理解,再操作**
|
||||
- **先场景,再命令**
|
||||
- **先最小可用,再扩展参数**
|
||||
- **练习服务于理解,不反客为主**
|
||||
- **每个模块都能迁移到真实工作场景**
|
||||
- **从经典 Linux / Unix 教材与运维认证体系中吸收结构感**
|
||||
- **尽量覆盖运维强相关全场景**
|
||||
|
||||
---
|
||||
|
||||
## 新课程结构
|
||||
## 课程组织方式
|
||||
|
||||
课程分为 6 大模块,不再按简单等级推进,而按学习逻辑推进。
|
||||
课程采用三层结构:
|
||||
|
||||
### 第一层:知识模块
|
||||
按 Linux/运维核心领域拆分模块。
|
||||
|
||||
### 第二层:课时
|
||||
每个课时围绕一个核心问题或一组密切相关命令展开。
|
||||
|
||||
### 第三层:练习
|
||||
练习分为:
|
||||
- 理解题
|
||||
- 操作题
|
||||
- 场景题
|
||||
|
||||
练习是为了巩固,不再主导整个平台体验。
|
||||
|
||||
---
|
||||
|
||||
## 完整课程蓝图(10 大模块)
|
||||
|
||||
### 模块 1:建立 Linux 基本认知
|
||||
目标:先搞清楚“我在哪、我看到什么、我怎么移动”。
|
||||
目标:搞清楚终端、路径、目录、文件的基本世界观。
|
||||
|
||||
包含内容:
|
||||
- 什么是终端 / Shell
|
||||
- 什么是当前目录
|
||||
- 什么是绝对路径 / 相对路径
|
||||
- `pwd`
|
||||
- `ls`
|
||||
- `cd`
|
||||
- `echo`
|
||||
- `cat`
|
||||
包含:
|
||||
- 终端与 Shell
|
||||
- 绝对路径 / 相对路径
|
||||
- pwd / ls / cd / cat / echo
|
||||
|
||||
输出能力:
|
||||
- 能在目录中定位自己
|
||||
- 能读懂基础路径
|
||||
- 能查看基础文件内容
|
||||
- 能定位自己
|
||||
- 能看懂基本路径
|
||||
- 能读基础文件内容
|
||||
|
||||
---
|
||||
|
||||
### 模块 2:文件与目录操作
|
||||
目标:建立文件系统操作能力。
|
||||
|
||||
包含内容:
|
||||
- 文件与目录的区别
|
||||
- 创建 / 复制 / 移动 / 删除
|
||||
- `mkdir`
|
||||
- `touch`
|
||||
- `cp`
|
||||
- `mv`
|
||||
- `rm`
|
||||
- `stat`
|
||||
包含:
|
||||
- 文件和目录的区别
|
||||
- mkdir / touch / cp / mv / rm / stat
|
||||
- 文件生命周期:创建、备份、迁移、清理
|
||||
|
||||
输出能力:
|
||||
- 能完成日常文件整理
|
||||
- 能理解“创建、备份、迁移、清理”四种动作
|
||||
- 能完成基础文件管理
|
||||
- 能理解文件操作的风险和意义
|
||||
|
||||
---
|
||||
|
||||
### 模块 3:阅读与筛选信息
|
||||
目标:学会从文件和日志中找信息。
|
||||
目标:建立日志、配置、文本信息处理能力。
|
||||
|
||||
包含内容:
|
||||
- `head`
|
||||
- `tail`
|
||||
- `grep`
|
||||
- `wc`
|
||||
- `sort`
|
||||
- `find`
|
||||
- 日志查看思路
|
||||
- 搜索与过滤思路
|
||||
包含:
|
||||
- head / tail / grep / wc / sort / find
|
||||
- 搜索与筛选思路
|
||||
- 日志阅读思路
|
||||
|
||||
输出能力:
|
||||
- 能读日志
|
||||
- 能查关键词
|
||||
- 能定位配置文件
|
||||
- 能找关键词
|
||||
- 能定位文件
|
||||
- 能做基础统计
|
||||
|
||||
---
|
||||
|
||||
### 模块 4:系统状态与资源认知
|
||||
目标:知道系统现在在干什么。
|
||||
目标:知道一台 Linux 机器此刻在运行什么。
|
||||
|
||||
包含内容:
|
||||
- 进程是什么
|
||||
- 磁盘 / 内存 / 挂载点是什么
|
||||
- `ps`
|
||||
- `top`
|
||||
- `df`
|
||||
- `du`
|
||||
- `free`
|
||||
- `mount`
|
||||
- `history`
|
||||
包含:
|
||||
- 进程、负载、CPU、内存、磁盘、挂载点
|
||||
- ps / top / uptime / free / df / du / mount / lsof
|
||||
|
||||
输出能力:
|
||||
- 能做基础排查
|
||||
- 能看懂资源占用
|
||||
- 能理解系统运行状态
|
||||
- 能做基础资源排查
|
||||
- 能理解系统是否正常运行
|
||||
|
||||
---
|
||||
|
||||
### 模块 5:网络与服务基础
|
||||
目标:建立 Linux 运维里的连接意识。
|
||||
### 模块 5:服务与日志排障
|
||||
目标:围绕服务故障建立排查链路。
|
||||
|
||||
包含内容:
|
||||
- 网络接口是什么
|
||||
- 端口与监听是什么
|
||||
- `ifconfig` / `ip addr`
|
||||
- `ping`
|
||||
- `ss` / `netstat`
|
||||
- `curl`
|
||||
- `wget`
|
||||
- `which` / `whereis`
|
||||
包含:
|
||||
- systemd 基础
|
||||
- 服务状态 / 启停 / 自启动
|
||||
- journalctl
|
||||
- 进程、端口、日志之间的关系
|
||||
- systemctl / service / journalctl / kill / pkill / nohup
|
||||
|
||||
输出能力:
|
||||
- 能处理“服务没起来 / 起了但不可用 / 日志报错”类问题
|
||||
|
||||
---
|
||||
|
||||
### 模块 6:网络与连接排查
|
||||
目标:建立网络、监听、请求和服务可达性的认知。
|
||||
|
||||
包含:
|
||||
- 网卡 / IP / 端口 / 监听 / 连通性
|
||||
- ifconfig / ip addr / ping / ss / netstat / curl / wget / traceroute / dig
|
||||
|
||||
输出能力:
|
||||
- 能判断服务通不通
|
||||
- 能理解“域名、端口、监听、请求”的基本关系
|
||||
- 能区分网络层、端口层、HTTP 层的问题
|
||||
|
||||
---
|
||||
|
||||
### 模块 6:权限、习惯与实际运维思维
|
||||
目标:从“会敲命令”过渡到“知道为什么这么做”。
|
||||
### 模块 7:权限、用户与安全基础
|
||||
目标:从“能执行”提升到“知道该不该执行”。
|
||||
|
||||
包含内容:
|
||||
- 权限模型基础
|
||||
- `chmod`
|
||||
- `chown`
|
||||
- `chgrp`
|
||||
- `alias`
|
||||
- `export`
|
||||
- `tar`
|
||||
- `crontab`
|
||||
- 常见运维习惯
|
||||
- 风险命令认知
|
||||
包含:
|
||||
- 用户、组、权限模型
|
||||
- chmod / chown / chgrp / whoami / id / passwd / sudo / su
|
||||
- 最小权限原则
|
||||
- 高风险命令意识
|
||||
|
||||
输出能力:
|
||||
- 能理解权限修改的意义
|
||||
- 能建立基础运维安全感
|
||||
- 能开始形成 Linux 使用习惯
|
||||
- 能处理基础权限问题
|
||||
- 能理解安全边界
|
||||
|
||||
---
|
||||
|
||||
## 每个课时的新结构
|
||||
### 模块 8:软件包、环境与命令定位
|
||||
目标:理解软件从哪里来、命令为什么能执行、版本怎么查。
|
||||
|
||||
每一课统一用下面 6 段结构:
|
||||
包含:
|
||||
- PATH 与命令查找
|
||||
- which / whereis / env / export / alias
|
||||
- apt / dpkg / yum / rpm
|
||||
|
||||
### 1. 学什么
|
||||
一句话说清这个命令/主题在解决什么问题。
|
||||
输出能力:
|
||||
- 能定位命令来源
|
||||
- 能查版本、查安装包、查环境变量问题
|
||||
|
||||
### 2. 为什么重要
|
||||
它在真实 Linux 使用、开发、运维里有什么价值。
|
||||
---
|
||||
|
||||
### 3. 核心知识点
|
||||
包括:
|
||||
- 命令作用
|
||||
- 常见参数
|
||||
- 常见组合
|
||||
- 输出怎么看
|
||||
- 容易误解的点
|
||||
### 模块 9:自动化、归档与运维习惯
|
||||
目标:建立“批量处理、定时执行、可重复操作”的意识。
|
||||
|
||||
### 4. 最小示例
|
||||
给 2~4 个最有代表性的示例。
|
||||
包含:
|
||||
- 重定向 / 管道
|
||||
- crontab
|
||||
- tar / gzip / zip / unzip
|
||||
- history
|
||||
- Shell 习惯
|
||||
|
||||
### 5. 常见场景
|
||||
把命令放进真实场景里:
|
||||
- 查配置
|
||||
- 查日志
|
||||
- 找文件
|
||||
- 看资源
|
||||
- 改权限
|
||||
输出能力:
|
||||
- 能做基础自动化
|
||||
- 能做备份和简单定时任务
|
||||
- 能形成更稳妥的命令行习惯
|
||||
|
||||
### 6. 练习题
|
||||
练习题不再喧宾夺主,而是用于确认理解。
|
||||
---
|
||||
|
||||
### 模块 10:运维综合实战场景
|
||||
目标:把前面所有能力真正串起来。
|
||||
|
||||
典型场景:
|
||||
- 服务无法访问排查
|
||||
- 磁盘爆满排查
|
||||
- 登录失败排查
|
||||
- Nginx / 应用日志排查
|
||||
- 发布后服务未启动
|
||||
- 备份与恢复演练
|
||||
|
||||
输出能力:
|
||||
- 知道不是背命令,而是围绕问题组织命令链路
|
||||
|
||||
---
|
||||
|
||||
## 每课统一结构
|
||||
|
||||
每个课时都按下列结构组织:
|
||||
|
||||
1. **学什么**
|
||||
2. **为什么重要**
|
||||
3. **核心知识点**
|
||||
4. **最小示例**
|
||||
5. **常见误区**
|
||||
6. **典型场景**
|
||||
7. **练习题**
|
||||
8. **课后总结 / 迁移建议**(后续补齐)
|
||||
|
||||
---
|
||||
|
||||
## 练习设计原则
|
||||
|
||||
练习题分成 3 类:
|
||||
|
||||
### A. 理解题
|
||||
检验有没有理解命令用途。
|
||||
例:
|
||||
- 查看当前目录应该用什么命令?
|
||||
- 为什么 `ls -a` 会比 `ls` 多看到东西?
|
||||
检查有没有理解命令用途和思路。
|
||||
|
||||
### B. 操作题
|
||||
检验能否正确写出命令。
|
||||
例:
|
||||
- 进入 `/tmp`
|
||||
- 查找 `/etc` 下所有 `.conf` 文件
|
||||
检查是否能写出正确命令。
|
||||
|
||||
### C. 场景题
|
||||
检验是否能把命令放进真实问题中。
|
||||
例:
|
||||
- 日志太大,不想全看,只看最后 20 行怎么办?
|
||||
- 想找出包含 `error` 的日志应该怎么做?
|
||||
检查是否能把命令放进真实运维问题中。
|
||||
|
||||
> 练习不是为了“刷过去”,而是为了确认:你是不是真的知道这个命令为什么存在。
|
||||
|
||||
---
|
||||
|
||||
## 页面呈现结构(学习优先)
|
||||
## 页面结构原则
|
||||
|
||||
前端页面不再以“终端交互”为主,而改为:
|
||||
|
||||
### 左侧:课程目录
|
||||
### 左侧:课程地图
|
||||
- 模块
|
||||
- 小节
|
||||
- 学习进度
|
||||
- 课时
|
||||
- 学习路径
|
||||
|
||||
### 中间:学习正文
|
||||
- 概念讲解
|
||||
- 示例
|
||||
- 场景
|
||||
- 总结
|
||||
### 中间:正文学习区
|
||||
- 讲解优先
|
||||
- 示例优先
|
||||
- 场景优先
|
||||
|
||||
### 右侧:知识辅助
|
||||
- 关键概念
|
||||
### 右侧:辅助理解区
|
||||
- 易错点
|
||||
- 相关命令
|
||||
- 推荐练习
|
||||
- 场景提示
|
||||
- 理解型问题
|
||||
|
||||
### 底部:练习区
|
||||
- 简洁练习,不抢正文
|
||||
- 只做必要反馈
|
||||
- 重点是“学完再练”
|
||||
### 底部 / 内嵌:轻练习区
|
||||
- 练习服务于学习
|
||||
- 保持必要但不过分喧宾夺主
|
||||
|
||||
---
|
||||
|
||||
## 新平台定位
|
||||
## 吸收的“教材气质”
|
||||
|
||||
重构后的 Linux 平台定位为:
|
||||
这套平台后续会持续内化这些来源的设计方法:
|
||||
- 经典 Linux / Unix 入门教材的结构感
|
||||
- man / 官方文档的准确性
|
||||
- RHCSA / RHCE / LPIC 一类认证体系的能力递进
|
||||
- 真实运维工作流里的问题链路
|
||||
|
||||
> **Linux 系统学习平台 + 轻量练习环境**
|
||||
不是搬教材,而是:
|
||||
|
||||
不是刷题站,也不是单纯命令模拟器。
|
||||
|
||||
目标用户看到平台后,应该感受到:
|
||||
- 这是能认真学东西的
|
||||
- 不是只会点按钮
|
||||
- 不是只会猜答案
|
||||
- 学完真的能迁移到实际 Linux 使用场景
|
||||
> **把经典教材与运维经验内化后,重新设计成适合平台学习的课程。**
|
||||
|
||||
---
|
||||
|
||||
## 重构顺序
|
||||
## 当前重构阶段
|
||||
|
||||
### 第一阶段:课程蓝图重构
|
||||
- 重写课程结构
|
||||
- 重写模块划分
|
||||
- 重写题目组织方式
|
||||
### 已完成
|
||||
- 平台方向从交互优先改成学习优先
|
||||
- 前 3 个模块已落到课程结构中
|
||||
- 页面结构已切为知识正文型
|
||||
|
||||
### 第二阶段:前 3 个模块内容重写
|
||||
- Linux 基本认知
|
||||
- 文件与目录操作
|
||||
- 阅读与筛选信息
|
||||
|
||||
### 第三阶段:页面重构
|
||||
- 课程目录页
|
||||
- 学习正文页
|
||||
- 轻练习区
|
||||
|
||||
### 第四阶段:后续模块补齐
|
||||
- 系统状态
|
||||
- 网络基础
|
||||
- 权限与运维习惯
|
||||
### 下一步
|
||||
- 扩完整个 10 模块蓝图到课程数据
|
||||
- 逐步补模块 4~10 的详细课时
|
||||
- 增加“场景专题”页,把命令真正串成运维链路
|
||||
|
||||
---
|
||||
|
||||
## 当前结论
|
||||
## 一句话定位
|
||||
|
||||
这次不是“继续补旧平台”,而是:
|
||||
|
||||
> **把 Linux 平台从“交互导向”改造成“知识导向”的系统学习平台。**
|
||||
|
||||
后续所有改动,以这个文档为准。
|
||||
> **这是一个吸收经典 Linux 教材与运维训练体系后,面向运维强相关全场景重构的 Linux 学习平台。**
|
||||
|
||||
Reference in New Issue
Block a user