热门排行
简介
《Linux Bash编程与脚本应用实战》从实际的应用场景出发,深入浅出地介绍了编写 Shell脚本所包含的各项常用技术,使读者在不知不觉中就能掌握 Shell脚本的编写和使用技巧,是 Shell脚本编程开发初学者的绝佳首选。
目录
第1章学习Shell的背景知识——Linux系统.1
1.1Linux系统基础1
1.1.1Linux系统的发展.1
1.1.2Linux系统和Windows系统的区别2
1.1.3Linux的启动过程.2
1.2Linux文件系统基础介绍5
1.2.1必须了解的节点inode6
1.2.2Linux系统文件结构.7
1.3学会Linux系统的基本使用.10
1.3.1系统的登录与退出10
1.3.2系统基本选项配置12
1.3.3文本编辑器的使用13
1.4走进Shell.18
1.4.1什么是Shell.19
1.4.2Shell在Linux系统中的作用.19
1.4.3Shell的种类.20
1.5小结.21
第2章迈出Shell脚本编程第一步22
2.1Shell脚本语言概述.22
2.1.1Shell脚本语言的定义.22
2.1.2Shell终端的基本使用.23
2.1.3Shell终端菜单的使用.23
2.2Shell命令格式介绍.24
2.2.1Shell命令格式.24
2.2.2命令行界面介绍25
2.2.3如何获取帮助26
2.3第一个Shell程序:Hello,BashShell!28
2.3.1创建Shell脚本28
2.3.2Shell脚本中的格式介绍.31
2.3.3如何执行Shell程序32
2.4小结.33
第3章Shell常用命令大演练34
3.1Shell命令使用基础.34
3.1.1文件类型34
3.1.2绝对路径和相对路径35
3.1.3文件属性和文件权限36
3.1.4用户和用户组36
3.1.5特殊目录介绍39
3.2用户和用户组管理.40
3.2.1用户管理常用命令40
3.2.2用户组管理常用命令43
3.2.3其他常用命令45
3.3文件和目录操作.48
3.3.1文件操作常用命令48
3.3.2目录操作常用命令52
3.3.3文件权限管理常用命令56
3.3.4查找文件常用命令58
3.4系统管理相关.60
3.4.1网络操作常用命令60
3.4.2系统资源管理常用命令63
3.4.3磁盘信息查看常用命令66
3.5小结.67
第4章Shell脚本中的变量68 [2]
4.1变量的简单使用.68
4.1.1变量的使用68
4.1.2变量的输入和输出70
4.1.3变量的输出命令echo.74
4.2Shell中特殊变量的使用.78
4.2.1位置参数介绍78
4.2.2$@和$*的区别79
4.3环境变量的使用.80
4.3.1Shell中的环境变量.80
4.3.2环境变量的配置文件83
4.3.3全局环境变量和本地环境变量86
4.3.4环境变量的设定87
4.3.5环境变量的取消89
4.4小结.89
第5章Shell脚本中的特殊符号.90
5.1引号的使用.90
5.1.1单引号的使用90
5.1.2双引号的使用91
5.1.3倒引号的使用92
5.2通配符和元字符.93
5.2.1使用通配符93
5.2.2使用元字符96
5.3管道.99
5.4其他特殊字符介绍.100
5.4.1后台运行符100
5.4.2括号101
5.4.3分号103
5.5小结.103
第6章Linux中的文件处理.105
6.1Linux中的文件类型105
6.1.1设备文件106
6.1.2设备文件的挂载和卸载107
6.1.3链接文件111
6.1.4文件描述符113
6.2标准输入、输出与错误.114
6.2.1标准输入114
6.2.2标准输出和标准错误114
6.3重定向.114
6.3.1重定向的定义115
6.3.2输入重定向115
6.3.3输出重定向117
6.4合并标准输出和标准错误119
6.5小结.120
第7章Shell脚本中的分支结构.121
7.1测试命令的使用.121
7.1.1测试命令的基础结构121
7.1.2测试文件类型123
7.1.3测试字符串127
7.1.4测试数值128 [2]
7.1.5复合测试条件129
7.2if分支结构.131
7.2.1if-then结构.131
7.2.2if-then-else结构132
7.2.3嵌套结构134
7.3case多条件分支结构.136
7.3.1case结构基础137
7.3.2在Shell脚本中使用case结构.138
7.3.3select命令的使用139
7.4小结.140
第8章Shell中的循环结构142
8.1for循环.142
8.1.1使用for-in结构.142
8.1.2C式for结构.145
8.2while命令的使用.148
8.2.1使用while结构.148
8.2.2多条件的while结构.149
8.2.3使用until命令149
8.3命令的嵌套.151
8.3.1for命令的嵌套151
8.3.2while命令的嵌套154
8.3.3until命令的嵌套.156
8.4循环控制符.157
8.4.1使用break中断.157
8.4.2使用continue继续159
8.5小结.160
第9章Shell中的函数.162
9.1函数的基本用法.162
9.1.1函数的创建与使用162
9.1.2函数的参数164
9.2函数的返回值.165
9.2.1返回值基础165
9.2.2函数的默认返回值166
9.2.3return命令的使用.167
9.2.4使用函数的返回值168
9.3函数中的全局变量和局部变量169
9.3.1全局变量169
9.3.2局部变量170
9.4数组与函数.171
9.4.1数组作为函数参数171
9.4.2数组作为函数返回值172
9.5脚本函数递归.173
9.6函数的嵌套调用.174
9.7小结.176
第10章Shell脚本编写技巧177
10.1脚本编写规范.177
10.1.1命名规范177
10.1.2注释风格178
10.1.3其他需要注意的规范180
10.2脚本优化.181
10.2.1Shell脚本优化原则.181
10.2.2提供足够的提示信息182
10.3脚本使用技巧.184
10.3.1命令选项说明184
10.3.2算术运算184
10.3.3高级算术运算187
10.4小结.188
第11章正则表达式189
11.1正则表达式基础.189
11.1.1正则表达式的定义189
11.1.2正则表达式的分类190
11.2基本正则表达式的常用符号190
11.2.1使用点字符匹配单字符190
11.2.2使用定位符191
11.2.3使用“*”匹配字符串中的单字符或其重复序列193
11.2.4使用“\”屏蔽一个特殊字符的含义.194
11.3扩展正则表达式的常用符号195
11.3.1使用“[]”匹配一个范围或集合.195
11.3.2使用“\{\}”匹配模式结果出现的次数196
11.3.3问号的使用197
11.4小结.197
第12章Shell中的文本搜索工具——grep家族199
12.1grep的基础使用199
12.1.1grep命令的基本使用方式199
12.1.2grep选项200
12.1.3行数201
12.1.4大小写敏感202
12.1.5显示非匹配行203
12.1.6查询多个文件或多个关键字205
12.2grep和正则表达式206
12.2.1模式范围以及范围组合206
12.2.2定位符的使用207
12.2.3字符匹配208 [2]
12.2.4模式出现几率209
12.2.5匹配特殊字符210
12.3grep命令的扩展使用211
12.3.1类名的使用211
12.3.2egrep命令的使用212
12.3.3fgrep命令的使用213
12.4grep命令使用实例214
12.4.1目录搜索——查找特定目录或文字214
12.4.2使用ps命令检索特定的进程215
12.5小结.216
第13章sed编程217
13.1认识sed217
13.1.1sed工作模式.217
13.1.2sed常用指令.218
13.1.3sed常用选项.219
13.1.4sed地址范围.220
13.2sed编辑器常用命令221
13.2.1替换命令的使用221
13.2.2删除命令的使用223
13.2.3文本的添加和替换224
13.3高级sed编程.225
13.3.1同时处理多行数据225
13.3.2sed编辑器的空间.226
13.3.3sed编辑器的反向.227
13.3.4重定向sed的输出228
13.4小结.229
第14章gawk编程230
14.1gawk概述.230
14.1.1gawk基本介绍230
14.1.2gawk基本使用232
14.2变量的使用.234
14.2.1内置变量的使用234
14.2.2自定义变量的使用236
14.2.3数组的使用237
14.3结构的使用.238
14.3.1条件结构的使用238
14.3.2循环结构的使用241
14.3.3循环结构控制语句243
14.4函数的使用.244
14.4.1算术函数的使用244
14.4.2字符串处理函数的使用246
14.4.3时间函数的使用247
14.5小结.249
第15章脚本控制250
15.1Linux信号控制250
15.1.1Linux信号机制简介.250
15.1.2使用Shell脚本操作信号252
15.2进程的控制.254
15.2.1后台运行符介绍254
15.2.2运行进程的控制255
15.2.3nohup命令的使用.257
15.3脚本运行的优先级.258
15.3.1优先级介绍258
15.3.2使用nice指定优先级.259
15.3.3使用renice重置优先级260
15.4小结.261
第16章脚本运行的优化.262
16.1添加窗口.262
16.1.1dialog软件的安装.262
16.1.2dialog命令的帮助选项.263
16.1.3dialog命令的使用.264
16.2dialog常用窗口的使用.268
16.2.1消息窗口268
16.2.2yesno窗口.269
16.2.3文本框的使用271
16.2.4菜单的使用272
16.3颜色的使用.273
16.4创建菜单.276
16.4.1在Shell脚本中创建菜单277
16.4.2创建子菜单函数278
16.4.3脚本的整合279
16.5小结.280
第17章Shell实战之系统管理281
17.1系统监测.281
17.1.1系统监控基础281
17.1.2Ubuntu自带的系统监控工具.284
17.1.3监控脚本的编写286
17.2计划任务的实现.287
17.2.1at命令的使用287
17.2.2atq命令的使用292
17.2.3cron的使用293
17.3网络管理.295
17.3.1网络配置295
17.3.2服务器的安装299
17.4日志管理.301
17.4.1日志简介302
17.4.2守护进程syslogd.303
17.4.3日志的备份操作305
17.4.4日志的定时操作306
17.5小结.307
第18章Shell实战之数据库操作.308
18.1Linux系统中的数据库308
18.1.1SQLite简介.308
18.1.2SQLite的图形化操作.311
18.1.3MySQL简介314
18.2SQL语句316
18.2.1SQL语言基本介绍.316
18.2.2基本的SQL操作317
18.2.3在Shell脚本中执行SQL语句319
18.3图书管理系统中数据库操作实例320
18.3.1数据库操作基本流程321
18.3.2创建表321
18.3.3增加图书信息322
18.3.4修改图书信息323
18.3.5删除图书信息324
18.4小结.324 [2]