第1章 Linux shell概述 1
1.1 Linux shell概念 1
1.1.1 Linux shell的作用 1
1.1.2 使用shell的原因 1
1.1.3 shell模式类别 2
1.2 shell工作原理 4
1.3 Linux shell类型简述 5
1.3.1 常见的shell 5
1.3.2 各种shell的切换 6
1.4 shell环境平台构造 7
1.5 shell脚本包装 9
1.5.1 用awk包装shell脚本 9
1.5.2 用sed包装shell脚本 10
第2章 编辑器及脚本设计 12
2.1 Linux编辑器 12
2.1.1 使用编辑器的益处 12
2.1.2 主要的Linux编辑器 12
2.2 Emacs编辑器 13
2.2.1 在文本模式中使用 13
2.2.2 在图形系统下使用 15
2.2.3 Emacs编辑器操作命令 16
2.3 vi编辑器 17
2.3.1 vi与vim编辑器 17
2.3.2 vi工作模式 18
2.3.3 常用的操作命令 19
2.3.4 vi编辑器应用操作 20
2.4 shell脚本程序 22
2.4.1 脚本编写和执行 22
2.4.2 shell脚本追踪 24
第3章 shell变量 26
3.1 shell变量概述 26
3.2 shell变量的类型 27
3.2.1 shell局部变量 27
3.2.2 shell环境变量 28
3.2.3 shell特殊变量 30
3.3 系统内置变量 32
3.4 shell变量的设置 37
3.5 shell变量应用 39
3.5.1 shell变量赋值 39
3.5.2 变量引用与转义 41
第4章 算术运算 45
4.1 算术运算的概念 45
4.2 数值相加 45
4.3 数值相减 50
4.4 数值乘除 53
4.5 数值大小比较 55
4.6 高级应用 59
4.6.1 移位运算操作 59
4.6.2 逻辑运算操作 62
4.6.3 进制转换操作 64
第5章 程序流程控制 66
5.1 循环语句类别 66
5.1.1 for循环语句 66
5.1.2 while循环语句 70
5.1.3 until循环语句 72
5.2 选择与分支结构 73
5.2.1 if语句结构 74
5.2.2 case语句结构 77
5.2.3 select语句结构 80
5.3 循环控制语句 81
5.3.1 break控制语句 82
5.3.2 continue控制语句 83
5.4 嵌套循环语句 85
第6章 文件编辑 88
6.1 系统的文件类型 88
6.1.1 普通文件 88
6.1.2 目录文件 88
6.1.3 链接文件 88
6.1.4 特殊文件 89
6.2 文件存在性测试 89
6.2.1 内置式测试方式 89
6.2.2 交互式测试方式 90
6.3 文件应用操作 91
6.3.1 创建文本文件 91
6.3.2 文件备份 93
6.3.3 文件重命名与删除 96
6.3.4 文件完整性检查 98
6.4 编辑文本内容 101
6.4.1 查阅文本内容 101
6.4.2 文本内容比较 105
6.4.3 文本内容重定向 106
6.5 特殊用途文件 110
6.5.1 /dev目录应用 110
6.5.2 /proc目录应用 113
第7章 shell函数 116
7.1 shell函数定义 116
7.2 shell函数调用 120
7.2.1 在脚本中调用 120
7.2.2 调用脚本文件 122
7.3 函数参数传递 123
7.4 函数返回与退出 127
7.5 函数输入重定向 128
7.6 函数实例 130
7.6.1 函数中的echo问题 130
7.6.2 函数的变量问题 132
7.6.3 存在性测试 135
7.6.4 其他类型问题 137
第8章 shell数组 143
8.1 shell数组初始化 143
8.1.1 一维数组 143
8.1.2 二维数组 146
8.1.3 空数组 149
8.2 数组基本应用 151
8.2.1 数组元素 151
8.2.2 数组复制 154
8.2.3 内嵌数组 155
8.2.4 数组与字符串 155
8.3 数组的应用 157
8.3.1 数组的复制与连接 157
8.3.2 数组的其他应用 160
第9章 字符和字符串 163
9.1 字符的类型 163
9.1.1 通配符 163
9.1.2 转义字符 164
9.1.3 控制字符 165
9.1.4 字符集 166
9.2 字符串的应用 166
9.2.1 字符串测试 166
9.2.2 字符串选取 169
9.2.3 计算字符串长度 174
9.2.4 插入新字符串 175
9.3 特殊字符 175
9.3.1 特殊字符符号 175
9.3.2 特殊代码块 176
9.3.3 代码块与I/O重定向 182
第10章 正则表达式 183
10.1 正则表达式概述 183
10.1.1 正则表达式的起源 183
10.1.2 正则表达式解决的问题 184
10.1.3 元字符及其特征 185
10.2 正则表达式的特征 187
10.2.1 注意事项和处理方式 187
10.2.2 字符集与字符编码 188
10.2.3 正则表达式字符串 189
10.2.4 正则表达式匹配模式 190
10.3 优先匹配规则 191
10.3.1 位置优先匹配 191
10.3.2 标准量词优先匹配 192
10.4 正则表达式基本应用 192
10.4.1 grep命令系列 192
10.4.2 awk命令应用 196
10.4.3 sed命令应用 200
第11章 输入与输出 203
11.1 基本输入/输出 203
11.1.1 cat命令输入/输出 203
11.1.2 read命令应用 205
11.1.3 echo输入/输出 205
11.1.4 管道 208
11.1.5 tee分流输出 209
11.2 文件重定向 209
11.2.1 重定向的概念 210
11.2.2 重定向的基本应用 213
11.3 标准重定向的类型 213
11.3.1 标准输入 214
11.3.2 标准输出 215
11.3.3 标准错误 216
11.3.4 标准重定向 217
11.4 exec重定向 219
第12章 数据备份 223
12.1 数据备份概述 223
12.1.1 备份必要性 223
12.1.2 备份的分类 223
12.1.3 备份的方式 223
12.2 文件备份管理 224
12.2.1 文件归档管理 224
12.2.2 文件压缩与解压缩 228
12.2.3 备份操作综合应用 232
12.3 硬盘备份 234
12.3.1 系统硬盘的使用 234
12.3.2 新添硬盘的使用 235
第13章 网络应用编程 240
13.1 Linux系统网络 240
13.1.1 网络常用硬件设备 240
13.1.2 网络模型框架结构 240
13.1.3 网络配置文件 242
13.2 IP地址配置 244
13.2.1 查看系统IP地址 244
13.2.2 设置系统IP地址 245
13.2.3 IP地址测试 251
13.3 网络应用 253
13.3.1 搜索已启动网卡参数 253
13.3.2 网络连接状态测试 255
13.3.3 伪设备文件的应用 256
13.3.4 查找垃圾邮件发送者 257
第14章 shell高级应用 259
14.1 子shell概念及应用 259
14.1.1 子shell简介 259
14.1.2 子shell应用 261
14.2 受限shell 263
14.3 脚本调试问题 264
14.3.1 常见脚本错误 264
14.3.2 脚本调试的问题 265
14.4 系统应用管理 268
14.4.1 用户及口令管理 268
14.4.2 系统进程管理 271
14.4.3 系统硬盘应用管理 275
14.5 脚本递归调用 278
14.6 脚本优化问题 280
第15章 构造视图窗口 282
15.1 视图窗口制造工具 282
15.2 构造dialog图形界面 283
15.2.1 窗口选项构造 283
15.2.2 构造选项按钮框 284
15.2.3 dialog高级应用 287
15.3 构造Xdialog视图窗口 290
15.3.1 信息提示与编辑窗口 290
15.3.2 构造数值校正框 293
15.3.3 构造输入对话框 295
15.3.4 构造下拉列表框 295
15.3.5 Xdialog高级应用 296
附录 302
附录A 文件类代码 302
附录B 变量与字符串 303
附录C 特殊字符 305
附录D 算术与参数 306
附录E 其他类型符号 307