跟老男孩学 LINUX 运维 SHELL 编程实战

跟老男孩学 LINUX 运维 SHELL 编程实战
内容简介
本书可分为五大部分:部分为第 1 章~第 4 章,此部分着重介绍新手如何学好 Shell 编程。涉及的内容包括 Shell 编程的入门介绍、基础知识、运行原理、编程语法、编程习惯、变量知识以及变量的深入实践。第二部分为第 5 章~第 8 章,着重讲解变量的多种数值运算、条件测试与比较、if 条件判断语句、Shell 函数等相关的知识。第三部分为第 9 章~第 13 章,着重讲解 case 条件语句、while 循环和 until 型循环、for 循环和 select 循环、条件与循环控制及程序返回值、Shell 数组等知识。第四部分为第 14 章~第 16 章,着重讲解 Shell 脚本开发规范与编码习惯、Shell 脚本的调试知识和技巧、Shell 脚本开发环境的配置调整和优化等。第五部分为第 17 章~第 20 章,着重讲解 Linux 信号及 trap 命令的企业应用实践、Expect 自动化交互式程序的应用实践、贯穿全书技术的面试题和企业实战案例,以及子 Shell 知识。
作者简介
老男孩,专注于 Linux 运维架构领域一线运维及管理工作 13 年以上,擅长大规模互联网网站集群架构技术细节,曾服务于全国大的基础远程教育公司及全球大的中文百科网站,曾为某门户网站的早期及某大型培训机构早期提供过顾问服务,老男孩老师对于运维技术有着非同常人的独特理解,经过近 10 多年工作和教学,形成了比较完善的个人创新的运维思想、思维体系,长期担当多家互联网企业技术顾问及企业培训特聘讲师。曾 3 度创业,后于 2007 年开办国内 Linux 运维实战培训私塾式精英教育培训机构及项目实施服务公司【老男孩 Linux 高薪实战教育】。截止到 2014 年 8 月,累计受益学生达到数万人,至今仍工作在一线,运维及教育。
目录
第 1 章 如何才能学好 Shell 编程 / 1
- 1.1 为什么要学习 Shell 编程 / 1
- 1.2 学好 Shell 编程所需的基础知识 / 1
- 1.3 如何才能学好 Shell 编程之“老鸟”经验谈 / 3
- 1.4 学完本书后可以达到何种 Shell 编程高度 / 5
第 2 章 Shell 脚本初步入门 / 6
- 2.1 什么是 Shell / 6
- 2.2 什么是 Shell 脚本 / 7
- 2.3 Shell 脚本在 Linux 运维工作中的地位 / 8
- 2.4 脚本语言的种类 / 9
- 2.5 常用操作系统默认的 Shell / 11
- 2.6 Shell 脚本的建立和执行 / 12
第 3 章 Shell 变量的核心基础知识与实践 / 22
- 3.1 什么是 Shell 变量 / 22
- 3.2 环境变量 / 23
- 3.3 普通变量 / 31
- 3.4 变量定义技巧总结 / 40
第 4 章 Shell 变量知识进阶与实践 / 41
- 4.1 Shell 中特殊且重要的变量 / 41
- 4.2 bash Shell 内置变量命令 / 52
- 4.3 Shell 变量子串知识及实践 / 55
- 4.4 Shell 特殊扩展变量的知识与实践 / 60
第 5 章 变量的数值计算实践 / 65
- 5.1 算术运算符 / 65
- 5.2 双小括号“(())”数值运算命令 / 66
- 5.3 let 运算命令的用法 / 73
- 5.4 expr 命令的用法 / 75
- 5.5 bc 命令的用法 / 81
- 5.6 awk 实现计算 / 83
- 5.7 declare(同 typeset)命令的用法 / 83
- 5.8 $[] 符号的运算示例 / 83
- 5.9 基于 Shell 变量输入 read 命令的运算实践 / 84
第 6 章 Shell 脚本的条件测试与比较 / 92
- 6.1 Shell 脚本的条件测试 / 92
- 6.2 文件测试表达式 / 97
- 6.3 字符串测试表达式 / 102
- 6.4 整数二元比较操作符 / 105
- 6.5 逻辑操作符 / 108
- 6.6 测试表达式 test、[]、[[]]、(()) 的区别总结 / 120
第 7 章 if 条件语句的知识与实践 / 121
- 7.1 if 条件语句 / 121
- 7.2 if 条件语句企业案例精讲 / 132
第 8 章 Shell 函数的知识与实践 / 151
- 8.1 Shell 函数的概念与作用介绍 / 151
- 8.2 Shell 函数的语法 / 152
- 8.3 Shell 函数的执行 / 152
- 8.4 Shell 函数的基础实践 / 153
- 8.5 利用 Shell 函数开发企业级 URL 检测脚本 / 155
- 8.6 利用 Shell 函数开发一键优化系统脚本 / 158
- 8.7 利用 Shell 函数开发 rsync 服务启动脚本 / 166
第 9 章 case 条件语句的应用实践 / 169
- 9.1 case 条件语句的语法 / 169
- 9.2 case 条件语句实践 / 171
- 9.3 实践:给输出的字符串加颜色 / 176
- 9.4 case 语句企业级生产案例 / 181
- 9.5 case 条件语句的 Linux 系统脚本范例 / 187
- 9.6 本章小结 / 191
第 10 章 while 循环和 until 循环的应用实践 / 192
- 10.1 当型和直到型循环语法 / 192
- 10.2 当型和直到型循环的基本范例 / 194
第 11 章 for 和 select 循环语句的应用实践 / 217
第 12 章 循环控制及状态返回值的应用实践 / 249
第 13 章 Shell 数组的应用实践 / 260
第 14 章 Shell 脚本开发规范 / 279
第 15 章 Shell 脚本的调试 / 286
第 16 章 Shell 脚本开发环境的配置和优化实践 / 297
第 17 章 Linux 信号及 trap 命令的企业应用实践 / 310
第 18 章 Expect 自动化交互式程序应用实践 / 317
第 19 章 企业 Shell 面试题及企业运维实战案例 / 340
第 20 章 子 Shell 及 Shell 嵌套模式知识应用 / 377
- 附 录 Linux 重要命令汇总 / 393