跟老男孩学Linux运维 Shell编程实战PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:老男孩著
- 出 版 社:北京:机械工业出版社
- 出版年份:2017
- ISBN:9787111556077
- 页数:402 页
第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.4.1 Shell脚本语言的种类 9
2.4.2 其他常用的脚本语言种类 10
2.4.3 Shell脚本语言的优势 11
2.5 常用操作系统默认的Shell 11
2.6 Shell脚本的建立和执行 12
2.6.1 Shell脚本的建立 12
2.6.2 Shell脚本的执行 15
2.6.3 Shell脚本开发的基本规范及习惯 19
第3章 Shell变量的核心基础知识与实践 22
3.1 什么是Shell变量 22
3.2 环境变量 23
3.2.1 自定义环境变量 26
3.2.2 显示与取消环境变量 28
3.2.3 环境变量初始化与对应文件的生效顺序 30
3.3 普通变量 31
3.3.1 定义本地变量 31
3.3.2 变量定义及变量输出说明 35
3.4 变量定义技巧总结 40
第4章 Shell变量知识进阶与实践 41
4.1 Shell中特殊且重要的变量 41
4.1.1 Shell中的特殊位置参数变量 41
4.1.2 Shell进程中的特殊状态变量 47
4.2 bash Shell内置变量命令 52
4.3 Shell变量子串知识及实践 55
4.3.1 Shell变量子串介绍 55
4.3.2 Shell变量子串的实践 56
4.3.3 变量子串的生产场景应用案例 59
4.4 Shell特殊扩展变量的知识与实践 60
4.4.1 Shell特殊扩展变量介绍 60
4.4.2 Shell特殊扩展变量的实践 61
4.4.3 Shell特殊扩展变量的生产场景应用案例 63
第5章 变量的数值计算实践 65
5.1 算术运算符 65
5.2 双小括号“(())”数值运算命令 66
5.2.1 双小括号“(())”数值运算的基础语法 66
5.2.2 双小括号“(())”数值运算实践 66
5.3 let运算命令的用法 73
5.4 expr命令的用法 75
5.4.1 expr命令的基本用法示例 75
5.4.2 expr的企业级实战案例详解 76
5.5 bc命令的用法 81
5.6 awk实现计算 83
5.7 declare(同typeset)命令的用法 83
5.8 $[]符号的运算示例 83
5.9 基于Shell变量输入read命令的运算实践 84
5.9.1 read命令基础 84
5.9.2 以read命令读入及传参的综合企业案例 87
第6章 Shell脚本的条件测试与比较 92
6.1 Shell脚本的条件测试 92
6.1.1 条件测试方法综述 92
6.1.2 test条件测试的简单语法及示例 93
6.1.3 [](中括号)条件测试语法及示例 94
6.1.4 [[]]条件测试语法及示例 95
6.2 文件测试表达式 97
6.2.1 文件测试表达式的用法 97
6.2.2 文件测试表达式举例 97
6.2.3 特殊条件测试表达式案例 101
6.3 字符串测试表达式 102
6.3.1 字符串测试操作符 102
6.3.2 字符串测试生产案例 104
6.4 整数二元比较操作符 105
6.4.1 整数二元比较操作符介绍 105
6.4.2 整数变量测试实践示例 107
6.5 逻辑操作符 108
6.5.1 逻辑操作符介绍 108
6.5.2 逻辑操作符实践示例 110
6.5.3 逻辑操作符企业案例 112
6.6 测试表达式test、、[]、[[]]、(())的区别总结 120
第7章 if条件语句的知识与实践 121
7.1 if条件语句 121
7.1.1 if条件语句的语法 121
7.1.2 if条件语句多种条件表达式语法 125
7.1.3 单分支if条件语句实践 126
7.1.4 if条件语句的深入实践 130
7.2 if条件语句企业案例精讲 132
7.2.1 监控Web和数据库的企业案例 132
7.2.2 比较大小的经典拓展案例 142
7.2.3 判断字符串是否为数字的多种思路 143
7.2.4 判断字符串长度是否为0的多种思路 145
7.2.5 更多的生产场景实战案例 145
第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 利用She函数开发一键优化系统脚本 158
8.7 利用Shell函数开发rsync服务启动脚本 166
第9章 case条件语句的应用实践 169
9.1 case条件语句的语法 169
9.2 case条件语句实践 171
9.3 实践:给输出的字符串加颜色 176
9.3.1 给输出的字符串加颜色的基础知识 176
9.3.2 结合case语句给输出的字符串加颜色 177
9.3.3 给输出的字符串加背景颜色 180
9.4 case语句企业级生产案例 181
9.5 case条件语句的Linux系统脚本范例 187
9.6 本章小结 191
第10章 while循环和until循环的应用实践 192
10.1 当型和直到型循环语法 192
10.1.1 while循环语句 192
10.1.2 until循环语句 193
10.2 当型和直到型循环的基本范例 194
10.3 让Shell脚本在后台运行的知识 195
10.4 企业生产实战:while循环语句实践 206
10.5 while循环按行读文件的方式总结 210
10.6 企业级生产高级实战案例 211
10.7 本章小结 215
第11章 for和select循环语句的应用实践 217
11.1 for循环语法结构 217
11.2 for循环语句的基础实践 219
11.3 for循环语句的企业级案例 222
11.4 for循环语句的企业高级实战案例 230
11.5 Linux系统产生随机数的6种方法 239
11.6 select循环语句介绍及语法 241
11.7 select循环语句案例 242
第12章 循环控制及状态返回值的应用实践 249
12.1 break、continue、exit、return的区别和对比 249
12.2 break、continue、exit功能执行流程图 249
12.3 break、continue、exit、return命令的基础示例 251
12.4 循环控制及状态返回值的企业级案例 253
第13章 Shell数组的应用实践 260
13.1 Shell数组介绍 260
13.1.1 为什么会产生Shell数组 260
13.1.2 什么是Shell数组 260
13.2 Shell数组的定义与增删改查 261
13.2.1 Shell数组的定义 261
13.2.2 Shell数组的打印及输出 262
13.3 Shell数组脚本开发实践 265
13.4 Shell数组的重要命令 267
13.5 Shell数组相关面试题及高级实战案例 268
13.6 合格运维人员必会的脚本列表 277
第14章 Shell脚本开发规范 279
14.1 Shell脚本基本规范 279
14.2 Shell脚本变量命名及引用变量规范 281
14.3 Shell函数的命名及函数定义规范 282
14.4 Shell脚本(模块)高级命名规范 283
14.5 Shell脚本的代码风格 283
14.5.1 代码框架 283
14.5.2 缩进规范 284
14.6 Shell脚本的变量及文件检查规范 285
第15章 Shell脚本的调试 286
15.1 常见Shell脚本错误范例 286
15.1.1 if条件语句缺少结尾关键字 286
15.1.2 循环语句缺少关键字 287
15.1.3 成对的符号落了单 287
15.1.4 中括号两端没空格 288
15.1.5 Shell语法调试小结 289
15.2 Shell脚本调试技巧 289
15.2.1 使用dos2unix命令处理在Windows下开发的脚本 289
15.2.2 使用echo命令调试 290
15.2.3 使用bash命令参数调试 291
15.2.4 使用set命令调试部分脚本内容 294
15.2.5 其他调试Shell脚本的工具 296
15.3 本章小结 296
第16章 Shell脚本开发环境的配置和优化实践 297
16.1 使用vim而不是vi编辑器 297
16.2 配置文件.vimrc的重要参数介绍 298
16.3 让配置文件.vimrC生效 304
16.4 使用vim编辑器进行编码测试 304
16.4.1 代码自动缩进功能 304
16.4.2 代码颜色高亮显示功能说明 304
16.5 vim配置文件的自动增加版权功能 305
16.6 vim配置文件的代码折叠功能 305
16.7 vim编辑器批量缩进及缩进调整技巧 305
16.8 其他vim配置文件功能说明 307
16.9 vim编辑器常用操作技巧 307
第17章 Linux信号及trap命令的企业应用实践 310
17.1 信号知识 310
17.1.1 信号介绍 310
17.1.2 信号列表 310
17.2 使用trap控制信号 311
17.3 Linux信号及trap命令的生产应用案例 313
第18章 Expect自动化交互式程序应用实践 317
18.1 Expect介绍 317
18.1.1 什么是Expect 317
18.1.2 为什么要使用Expect 317
18.2 安装Expect软件 318
18.3 小试牛刀:实现Expect自动交互功能 318
18.4 Expect程序自动交互的重要命令及实践 319
18.4.1 spawn命令 320
18.4.2 expect命令 320
18.4.3 send命令 323
18.4.4 exp_continue命令 324
18.4.5 send_user命令 324
18.4.6 exit命令 325
18.4.7 Expect常用命令总结 325
18.5 Expect程序变量 326
18.5.1 普通变量 326
18.5.2 特殊参数变量 326
18.6 Expect程序中的if条件语句 327
18.7 Expect中的关键字 329
18.7.1 eof关键字 329
18.7.2 timeout关键字 329
18.8 企业生产场景下的Expect案例 330
18.8.1 批量执行命令 330
18.8.2 批量发送文件 332
18.8.3 批量执行Shell脚本 334
18.8.4 自动化部署SSH密钥认证+ansible的项目实战 337
18.9 本章小节 339
第19章 企业Shell面试题及企业运维实战案例 340
19.1 企业Shell面试题案例 340
19.1.1 面试题1:批量生成随机字符文件名 340
19.1.2 面试题2:批量改名 341
19.1.3 面试题3:批量创建特殊要求用户 342
19.1.4 面试题4:扫描网络内存活主机 342
19.1.5 面试题5:解决DOS攻击 343
19.1.6 面试题6:MySQL数据库分库备份 344
19.1.7 面试题7:MySQL数据库分库分表备份 344
19.1.8 面试题8:筛选符合长度的单词 344
19.1.9 面试题9:MySQL主从复制异常监控 344
19.1.10 面试题10:比较整数大小 344
19.1.11 面试题11:菜单自动化软件部署 344
19.1.12 面试题12:Web及MySQL服务异常监测 345
19.1.13 面试题13:监控Memcached缓存服务 345
19.1.14 面试题14:开发脚本实现入侵检测与报警 346
19.1.15 面试题15:开发Rsync服务启动脚本 349
19.1.16 面试题16:开发MySQL多实例启动脚本 349
19.1.17 面试题17:开发学生实践抓阄脚本 351
19.1.18 面试题18:破解RANDOM随机数 353
19.1.19 面试题19:批量检查多个网站地址是否正常 354
19.1.20 面试题20:单词及字母去重排序 355
19.1.21 面试题21:开发脚本管理服务端LVS 357
19.1.22 面试题22:LVS节点健康检查及管理脚本 359
19.1.23 面试题23:LVS客户端配置脚本 360
19.1.24 面试题24:模拟keepalived软件高可用 361
19.1.25 面试题25:编写正(或长)方形图形 362
19.1.26 面试题26:编写等腰三角形图形字符 363
19.1.27 面试题27:编写直角梯形图形字符 364
19.1.28 面试题28:51CTO博文爬虫脚本 365
19.1.29 面试题29:Nginx负载节点状态监测 366
19.2 Shell经典程序案例:哄老婆和女孩的神器 369
19.2.1 功能简介 369
19.2.2 使用方法 369
19.2.3 girlLove工具内容模板 370
19.2.4 girlLove工具的Shell源码注释 371
19.2.5 girlLove最终结果展示 376
第20章 子Shell及Shell嵌套模式知识应用 377
20.1 子Shell的知识及实践说明 377
20.1.1 什么是子Shell 377
20.1.2 子Shell的常见产生途径及特点 378
20.2 子Shell在企业应用中的“坑” 383
20.2.1 使用管道与while循环时遭遇的“坑” 383
20.2.2 解决while循环遭遇的“坑” 385
20.3 Shell调用脚本的模式说明 386
20.3.1 fork模式调用脚本知识 386
21.3.2 exec模式调用脚本 386
21.3.3 source模式调用脚本 387
20.4 Shell调用脚本的3种不同实践方法 387
20.4.1 开发测试不同模式区别的Shell脚本 387
20.4.2 对比fork模式与source模式的区别 390
20.4.3 对比exec模式与source模式的区别 391
20.5 Shell调用脚本3种不同模式的应用场景 391
附录 Linux重要命令汇总 393
- 《看天的男孩》蓝戈著 1993
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《Python3从入门到实战》董洪伟 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《星空摄影后期实战》阿五在路上著 2020
- 《半小时漫画股票实战法》财经杂质著 2019
- 《深度学习与飞桨PaddlePaddle Fluid实战》于祥 2019
- 《数字插画实战 人像创作30例》王鲁光著 2019
- 《2017国家执业药师资格考试 全考点实战通关必备 中药学综合知识与技能 第3版》国家执业药师资格考试命题研究专家组 2017
- 《中风偏瘫 脑萎缩 痴呆 最新治疗原则与方法》孙作东著 2004
- 《水面舰艇编队作战运筹分析》谭安胜著 2009
- 《王蒙文集 新版 35 评点《红楼梦》 上》王蒙著 2020
- 《TED说话的力量 世界优秀演讲者的口才秘诀》(坦桑)阿卡什·P.卡里亚著 2019
- 《燕堂夜话》蒋忠和著 2019
- 《经久》静水边著 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《微表情密码》(波)卡西亚·韦佐夫斯基,(波)帕特里克·韦佐夫斯基著 2019
- 《看书琐记与作文秘诀》鲁迅著 2019
- 《酒国》莫言著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019