Expert Shell scripting
副标题:无
分类号:
ISBN:9787115230805
微信扫一扫,移动浏览光盘
简介
本书旨在为Linux、Unix以及OS X系统管理员提供短小精悍且功能强大的shell实现解决方案,教会读者如何使用现有调试器调试shell脚本。
全书分为3个部分:脚本技术基础、系统交互和高级技术、有用的脚本实例。主要内容包括如何使小到中型的系统管理任务自动化,分析系统数据并编辑配置文件,使用bash和ksh等编写Linux、Unix和OS X应用程序的脚本文件等。
本书面向中高级的shell程序员,以及需要解决日常问题的系统管理员,但假定读者能够读懂一般的shell代码。
目录
第1部分 基本脚本编程技术
第1章 shell脚本的错误检测 2
1.1 shell跟踪选项 2
1.2 简单输出语句 5
1.3 根据调试层次控制输出 6
1.4 用函数简化错误检查 7
1.5 手动单步执行 9
第2章 标准函数库 10
2.1 库文件 10
2.2 一些有用的函数 11
2.3 使用库 13
第3章 日期和时间操作 14
3.1 用天数来计算日期 14
3.1.1 自从纪元以来的天数 15
3.1.2 以秒计算日期的其他方法 16
3.2 评估当前日期和时间 17
第4章 比较和测试比较的基本原理 19
第5章 接受命令行选项、开关和参数 23
第6章 测试变量和设置默认值 27
6.1 设置默认值 27
.6.2 变量替换 28
6.2.1 :=句法 29
6.2.2 =句法 29
6.2.3 :-句法 30
6.2.4 -句法 30
6.2.5 :?句法 30
6.2.6 ?句法 31
6.2.7 :+句法 31
6.2.8 +句法 31
第7章 非直接引用变量 32
7.1 用非直接变量监控日志文件 32
7.2 主监控循环 33
第8章 shell进程树 37
8.1 用数组实现进程树 38
8.2 用非直接变量实现进程树 42
8.3 用bourne shell实现进程树 43
第9章 数据重定向 45
9.1 避免错误 45
9.2 普通重定向 46
9.3 访问用户指定的文件句柄 48
9.4 从shell中访问描述符 49
第10章 管道输入读 50
10.1 逐行选项1 51
10.2 逐行选项2 52
10.3 逐行选项3 52
10.4 逐行选项4 53
10.5 直接管道读 54
10.6 逐字处理输入 55
第2部分 系统交互与高级技术
第11章 shell中的数学 58
11.1 expr 58
11.2 bc 60
11.3 dc 61
第12章 cron 62
12.1 crontab条目 62
12.2 环境问题 63
12.3 输出重定向 64
第13章 自链接脚本 66
第14章 对并行进程的数量控制 68
14.1 用ksh实现并行进程 69
14.2 用bash实现并行进程 73
第15章 命令行编辑和历史命令 75
15.1 建立vi编辑环境 76
15.1.1 bash 76
15.1.2 ksh 76
15.2 命令和文件补全 77
第16章 从命令行编写脚本例子 78
第17章 用expect实现用户输出自动化 81
17.1 为expect脚本定制参数的一个shell脚本 81
17.2 让telnet的expect脚本自动执行 85
第18章 用户输入超时 88
18.1 手动实现超时 88
18.2 使用stty实现超时 90
18.3 一般的超时功能 91
第19章 即时键盘响应 92
第20章 目录的复制 95
20.1 使用cp 95
20.2 使用tar 96
20.3 使用find 96
20.4 使用rsync 97
第21章 x显示环境概述 99
21.1 display变量 99
21.2 使用ssh处理x 流量 100
21.3 通过第三方系统的x应用 101
21.4 用户-profile项 103
21.5 根-profile项 105
21.6 弹出一个临时的根窗口 106
第22章 x导航窗口 108
22.1 导航窗口的作用 108
22.2 建立导航 109
22.3 浏览窗口 111
第23章 命令行电子邮件附件 116
23.1 uuencode 116
23.2 mime编码 117
第24章 单行文本处理 120
24.1 显示特殊域 120
24.2 指定域分隔符 121
24.3 简单的模式匹配 121
24.4 几个值的匹配域 121
24.5 确定域的数目 122
24.6 确定最后一个域 122
24.7 确定倒数第二个域 122
24.8 给awk传送变量 123
24.9 在一定条件下使用给awk传送的变量 123
24.10 显示域的范围(主要方法) 124
24.11 显示域的范围(备选方法) 124
24.12 使用awk确定串的长度 125
24.13 使用expr确定串的长度 125
24.14 使用awk显示一个子串 125
24.15 使用expr显示一个子串 125
24.16 使用sed进行简单的查找和替换 126
24.17 忽略文件中的空行和注释行 126
24.18 使用sed进行双查找和替换 126
24.19 使用sed过滤行 127
24.20 使用egrep查找多个串 127
24.21 查找进程表的一个清理方法 128
24.22 使用awk进行列求和计算 128
24.23 使用awk产生随机数字 129
24.24 从shell中产生随机数字 129
24.25 使用sed显示基于字符的域 129
24.26 特殊字符转义 130
24.27 使用grep从一个模式匹配中返回末尾行 131
24.28 使用grep返回模式匹配之前的行 132
第25章 在适当的位置编辑文件 134
25.1 使用ed进行简单的查找和替换 134
25.2 使用ed查找和替换、分割 135
25.3 ed命令的例子 136
25.4 对一个文件中的特殊字符转义 138
第26章 平面文件中的变量赋值 141
第27章 读取管道输入 143
第28章 使用cat的自由格式输出 145
第29章 自动交互处理 147
第3部分 有用的脚本实例
第30章 使用procmail自动处理邮件 152
30.1 .procmailrc文件 153
30.2 使用示例 155
30.3 代码 155
第31章 进程管理监视器 158
第32章 管理文件的计数 166
32.1 文件计数监视器 166
32.2 测试文件数目的计算方法 167
第33章 从inittab执行进程 169
第34章 自动rcs 171
第35章 带颜色的/proc报告 174
第36章 口令老化通知 180
36.1 脚本初始化 181
36.2 开始处理 183
36.3 确定口令年龄 184
第37章 伪shadow文件 189
第38章 搭建linux金系统 193
第39章 系统快照 199
39.1 快照脚本 200
39.2 快照升级 202
39.3 创建最新快照 205
39.4 最后的想法 205
第40章 删除大文件和日志滚动 207
第41章 核心探测器 210
第42章 网络适配器故障转移 212
42.1 检查网络 214
42.2 转换接口 215
附录a 测试开关 217
附录b 特殊参数 219
附录c shell脚本编程的其他资源 220
c.1 手册 220
c.2 图书 220
c.2.1 脚本编程图书 221
c.2.2 补充图书 221
c.3 shell资源 221
c.4 网络资源 221
第1章 shell脚本的错误检测 2
1.1 shell跟踪选项 2
1.2 简单输出语句 5
1.3 根据调试层次控制输出 6
1.4 用函数简化错误检查 7
1.5 手动单步执行 9
第2章 标准函数库 10
2.1 库文件 10
2.2 一些有用的函数 11
2.3 使用库 13
第3章 日期和时间操作 14
3.1 用天数来计算日期 14
3.1.1 自从纪元以来的天数 15
3.1.2 以秒计算日期的其他方法 16
3.2 评估当前日期和时间 17
第4章 比较和测试比较的基本原理 19
第5章 接受命令行选项、开关和参数 23
第6章 测试变量和设置默认值 27
6.1 设置默认值 27
.6.2 变量替换 28
6.2.1 :=句法 29
6.2.2 =句法 29
6.2.3 :-句法 30
6.2.4 -句法 30
6.2.5 :?句法 30
6.2.6 ?句法 31
6.2.7 :+句法 31
6.2.8 +句法 31
第7章 非直接引用变量 32
7.1 用非直接变量监控日志文件 32
7.2 主监控循环 33
第8章 shell进程树 37
8.1 用数组实现进程树 38
8.2 用非直接变量实现进程树 42
8.3 用bourne shell实现进程树 43
第9章 数据重定向 45
9.1 避免错误 45
9.2 普通重定向 46
9.3 访问用户指定的文件句柄 48
9.4 从shell中访问描述符 49
第10章 管道输入读 50
10.1 逐行选项1 51
10.2 逐行选项2 52
10.3 逐行选项3 52
10.4 逐行选项4 53
10.5 直接管道读 54
10.6 逐字处理输入 55
第2部分 系统交互与高级技术
第11章 shell中的数学 58
11.1 expr 58
11.2 bc 60
11.3 dc 61
第12章 cron 62
12.1 crontab条目 62
12.2 环境问题 63
12.3 输出重定向 64
第13章 自链接脚本 66
第14章 对并行进程的数量控制 68
14.1 用ksh实现并行进程 69
14.2 用bash实现并行进程 73
第15章 命令行编辑和历史命令 75
15.1 建立vi编辑环境 76
15.1.1 bash 76
15.1.2 ksh 76
15.2 命令和文件补全 77
第16章 从命令行编写脚本例子 78
第17章 用expect实现用户输出自动化 81
17.1 为expect脚本定制参数的一个shell脚本 81
17.2 让telnet的expect脚本自动执行 85
第18章 用户输入超时 88
18.1 手动实现超时 88
18.2 使用stty实现超时 90
18.3 一般的超时功能 91
第19章 即时键盘响应 92
第20章 目录的复制 95
20.1 使用cp 95
20.2 使用tar 96
20.3 使用find 96
20.4 使用rsync 97
第21章 x显示环境概述 99
21.1 display变量 99
21.2 使用ssh处理x 流量 100
21.3 通过第三方系统的x应用 101
21.4 用户-profile项 103
21.5 根-profile项 105
21.6 弹出一个临时的根窗口 106
第22章 x导航窗口 108
22.1 导航窗口的作用 108
22.2 建立导航 109
22.3 浏览窗口 111
第23章 命令行电子邮件附件 116
23.1 uuencode 116
23.2 mime编码 117
第24章 单行文本处理 120
24.1 显示特殊域 120
24.2 指定域分隔符 121
24.3 简单的模式匹配 121
24.4 几个值的匹配域 121
24.5 确定域的数目 122
24.6 确定最后一个域 122
24.7 确定倒数第二个域 122
24.8 给awk传送变量 123
24.9 在一定条件下使用给awk传送的变量 123
24.10 显示域的范围(主要方法) 124
24.11 显示域的范围(备选方法) 124
24.12 使用awk确定串的长度 125
24.13 使用expr确定串的长度 125
24.14 使用awk显示一个子串 125
24.15 使用expr显示一个子串 125
24.16 使用sed进行简单的查找和替换 126
24.17 忽略文件中的空行和注释行 126
24.18 使用sed进行双查找和替换 126
24.19 使用sed过滤行 127
24.20 使用egrep查找多个串 127
24.21 查找进程表的一个清理方法 128
24.22 使用awk进行列求和计算 128
24.23 使用awk产生随机数字 129
24.24 从shell中产生随机数字 129
24.25 使用sed显示基于字符的域 129
24.26 特殊字符转义 130
24.27 使用grep从一个模式匹配中返回末尾行 131
24.28 使用grep返回模式匹配之前的行 132
第25章 在适当的位置编辑文件 134
25.1 使用ed进行简单的查找和替换 134
25.2 使用ed查找和替换、分割 135
25.3 ed命令的例子 136
25.4 对一个文件中的特殊字符转义 138
第26章 平面文件中的变量赋值 141
第27章 读取管道输入 143
第28章 使用cat的自由格式输出 145
第29章 自动交互处理 147
第3部分 有用的脚本实例
第30章 使用procmail自动处理邮件 152
30.1 .procmailrc文件 153
30.2 使用示例 155
30.3 代码 155
第31章 进程管理监视器 158
第32章 管理文件的计数 166
32.1 文件计数监视器 166
32.2 测试文件数目的计算方法 167
第33章 从inittab执行进程 169
第34章 自动rcs 171
第35章 带颜色的/proc报告 174
第36章 口令老化通知 180
36.1 脚本初始化 181
36.2 开始处理 183
36.3 确定口令年龄 184
第37章 伪shadow文件 189
第38章 搭建linux金系统 193
第39章 系统快照 199
39.1 快照脚本 200
39.2 快照升级 202
39.3 创建最新快照 205
39.4 最后的想法 205
第40章 删除大文件和日志滚动 207
第41章 核心探测器 210
第42章 网络适配器故障转移 212
42.1 检查网络 214
42.2 转换接口 215
附录a 测试开关 217
附录b 特殊参数 219
附录c shell脚本编程的其他资源 220
c.1 手册 220
c.2 图书 220
c.2.1 脚本编程图书 221
c.2.2 补充图书 221
c.3 shell资源 221
c.4 网络资源 221
Expert Shell scripting
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×