Shell 脚本:运维与开发的“隐形”硬门槛
很多技术从业者在学习 Linux 时,习惯停留在命令行操作层面,一旦涉及批量处理、定时任务或日志分析,便不得不再次回到终端手动敲击冗长命令。这种低效不仅耗时,更在服务器出现异常时容易因误操作引发风险。《掌握 Shell 脚本编程》这门课的核心价值,正是填补从“会使用 Linux"到“能用代码管理 Linux"之间的断层。它解决的痛点非常具体:如何在生产环境中通过自动化脚本替代重复性人工操作,如何编写具备错误处理能力的健壮程序,以及如何通过脚本实现系统资源的监控与日志的自动清理。对于希望从初级开发或运维向架构方向进阶的学习者而言,Shell 能力是区分“工具使用者”与“系统设计者”的关键分水岭。
这门课适合具备基础 Linux 操作认知的读者,无需精通,但需知道如何切换目录、查看文件和简单的权限管理。课程体系设计遵循“先扎马步,再跑动”的逻辑,并非一上来就讲解复杂的编程范式,而是从变量定义、管道机制到退出状态码等底层概念讲起,帮你建立正确的 Shell 执行思维,避免后期在引号嵌套、变量展开等细节上踩坑。
学习路径建议:聚焦逻辑构建与实战场景
入门阶段建议重点啃透第二章的变量机制与第三章的判断逻辑。特别是环境变量与位置变量的区别、单双引号的展开规则,这些细节决定了你后续编写脚本时的准确性。进入第四章循环控制时,不要只盯着语法看,要结合实际场景理解 for 循环遍历文件列表、while 循环监听服务的典型用法。第五章及后续的内容将进入高阶实战,此时应尝试脱离教程,独立编写一个自动备份数据库或监控磁盘占用的脚本。
学完本课程后,你应当能够独立编写用于日常运维的自动化脚本,包括但不限于:系统初始化配置、批量用户管理、日志定期归档与压缩、简单服务健康检查等。你不再依赖手敲命令完成重复工作,而是能将其固化为一键执行的程序。建议配合课程资料中的实战案例进行练习,先在本地虚拟机环境运行调试,确认无误后再部署至测试服务器。遇到报错时,学会阅读脚本的退出状态码和调试输出,这是排查 Shell 问题最核心的能力。通过这门课,你将建立起一套严谨的自动化思维,为后续接触 Ansible、Kubernetes 等更复杂的运维自动化工具打下坚实基础。
课程目录
第1章 课程介绍 试看 2 节 | 12分钟 1-1 Shell脚本编程开发实战导学 (11:19).mp4 1-2 在日常工作中,使用shell编程主要用于解决工作中那些场景的.mp4 第2章 shell入门:扎好马步,走的更稳 7 节 | 55分钟 2-1 自定义变量 (08:11).mp4 2-2 位置变量 (09:12).mp4 2-3 环境变量 (14:35).mp4 2-4 管道 (07:08).mp4 2-5 退出状态码 (09:48).mp4 2-6 改变退出状态码的exit命令 (06:01).mp4 2-7 对于shell编程中,使用单引号和双引号时趟过的一些坑有哪些.mp4 第3章 程序的转折点:判断与控制 10 节 | 82分钟 3-1 使用if-then语句 (05:40).mp4 3-2 使用if-then-else语句 (08:40).mp4 3-3 嵌套if (08:49).mp4 3-4 条件测试-数值比较 (09:56).mp4 3-5 条件测试-字符串比较 (12:16).mp4 3-6 条件测试-文件比较 (07:03).mp4 3-7 复合条件测试 (04:38).mp4 3-8 if-then中使用双括号 (12:16).mp4 3-9 if-then中使用双方括号 (06:11).mp4 3- 10 case命令 (06:03).mp4 第4章 一切编程的基石:循环与控制 10 节 | 62分钟 4-1 for命令 (02:37).mp4 4-2 for循环读取列表值 (05:22).mp4 4-3 for循环读取变量的值 (06:55).mp4 4-4 for循环从命令执行结果读取值 (11:53).mp4 4-5 C语言风格的for命令 (07:55).mp4 4-6 while循环命令 (06:13).mp4 4-7 until命令 (03:21).mp4 4-8 控制循环的break指令 (08:26).mp4 4-9 控制循环的continue指令 - 副本 (05:16).mp4 4- 10 处理循环的输出 (03:27).mp4 第5章 变量的高级用法 11 节 | 166分钟 5-1 变量替换和测试 (16:23).mp4 5-2 字符串处理(上) (17:55).mp4 5-3 字符串处理(下) (10:41).mp4 5-4 练习1-字符串处理完整脚本(上) (16:13).mp4 5-5 练习1-字符串处理完整脚本(下) (13:34).mp4 5-6 命令替换(上) (14:42).mp4 5-7 命令替换(下) (19:01).mp4 5-8 有类型变量 (14:26).mp4 5-9 bash数学运算之expr(上) (16:55).mp4 5- 10 bash数学运算之expr(下) (17:07).mp4 5- 11 bash数学运算之bc (08:16).mp4 第6章 函数的高级用法 6 节 | 75分钟 6-1 函数定义和使用 (24:20).mp4 6-2 向函数传递参数 (10:47).mp4 6-3 函数返回值 (16:20).mp4 6-4 局部变量和全局变量 (08:44).mp4 6-5 函数库 (13:49).mp4 6-6 shell编程区别于其他高级编程语言的语法有哪些?.mp4 第7章 Shell编程中的常用工具 4 节 | 66分钟 7-1 文件查找之find命令(上) (19:59).mp4 7-2 文件查找之find命令(中) (16:55).mp4 7-3 文件查找之find命令(下) (10:41).mp4 7-4 find、locate、whereis和which总结及适用场景分析 (17:52).mp4 第8章 文本处理三剑客之grep 1 节 | 24分钟 8-1 grep和egrep (23:38).mp4 第9章 文本处理三剑客之sed 11 节 | 207分钟 9-1 sed的工作模式 (06:28).mp4 9-2 sed的选项 (18:50).mp4 9-3 sed中的pattern详解 (18:21).mp4 9-4 sed中的编辑命令详解(上) (22:31).mp4 9-5 sed中的编辑命令详解(中) (20:54).mp4 9-6 sed中的编辑命令详解(下) (11:51).mp4 9-7 利用sed查找文件内容(上) (20:13).mp4 9-8 利用sed查找文件内容(下) (23:35).mp4 9-9 利用sed删除文件内容 (26:02).mp4 9- 10 利用sed修改文件内容 (17:19).mp4 9- 11 利用sed追加文件内容 (20:05).mp4 第10章 文本处理三剑客之awk 17 节 | 297分钟 10-1 awk的工作模式 (07:41).mp4 10-2 awk的内置变量(上) (23:35).mp4 10-3 awk的内置变量(下) (13:55).mp4 10-4 awk格式化输出之printf (17:21).mp4 10-5 awk模式匹配的两种用法 (22:29).mp4 10-6 awk中表达式的用法 (23:07).mp4 10-7 awk动作中的条件及循环语句(上) (18:51).mp4 10-8 awk动作中的条件及循环语句(下) (26:41).mp4 10-9 awk中的字符串函数(上) (20:55).mp4 10- 10 awk中的字符串函数(下) (17:40).mp4 10- 11 awk中的常用选项 (11:33).mp4 10- 12 awk中数组的用法-上 (19:12).mp4 10- 13 awk中数组的用法-中 (23:00).mp4 10- 14 awk中数组的用法-下 (17:33).mp4 10- 15 一个复杂的awk处理生产数据的例子-上 (11:34).mp4 10- 16 一个复杂的awk处理生产数据的例子-下 (21:30).mp4 10-17 使用awk最典型的应用场景有那些?.mp4 第11章 Shell脚本操作数据库实战 7 节 | 132分钟 11-1 安装MySQL数据库,导入测试数据 (23:30).mp4 11-2 Shell脚本与MySQL数据库交互(增删改查) (13:48).mp4 11-3 Shell脚本与MySQL数据库交互(增删改查)_2 (15:36).mp4 11-4 利用Shell脚本将文本数据导入到MySQL中 (18:27).mp4 11-5 利用Shell脚本将文本数据导入到MySQL中_2 (17:53).mp4 11-6 备份MySQL数据,并通过FTP将其传输到远端主机-上 (20:18).mp4 11-7 备份MySQL数据,并通过FTP将其传输到远端主机-下 (21:41).mp4 第12章 大型脚本工具开发实战 12 节 | 219分钟 12-1 脚本工具功能概述 (20:53).mp4 12-2 拆分脚本功能,抽象函数 (09:06).mp4 12-3 功能函数一代码实现 (20:59).mp4 12-4 功能函数二代码实现 (20:59).mp4 12-5 功能函数三代码实现-上 (21:37).mp4 12-6 功能函数三代码实现-下 (15:06).mp4 12-7 功能函数四代码实现 (22:34).mp4 12-8 程序主流程设计及代码实现-(1) (15:16).mp4 12-9 程序主流程设计及代码实现-(2) (19:45).mp4 12-10 程序主流程设计及代码实现-(3) (15:15).mp4 12-11 程序主流程设计及代码实现-(3)-2 (15:29).mp4 12-12 程序主流程设计及代码实现-(4) (21:54).mp4 第13章 课程总结 1 节 | 10分钟 13-1 课程总结 (09:40).mp4






