LinuxBash编程与脚本应用实战

LinuxBash编程与脚本应用实战"

作者:马玉军郝军
ISBN:9787302384465
定价:¥49
字数:千字
页数:
出版时间:2015.01.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

本书从实际的应用场景出发,深入浅出地介绍了编写 Shell脚本所包含的各项常用技术,使读者在不知不觉中就能掌握 Shell脚本的编写和使用技巧,是 Shell脚本编程开发初学者的绝佳首选。

本书分为 18章,分别介绍了 Linux系统基本知识,Shell编程基础,Shell编程的常用语法知识,如变量、特殊符号、文件处理、分支结构和循环结构、正则表达式、grep命令、sed编辑器、gawk编辑器等,如何对 Shell脚本的执行进行控制和优化,最后通过两个应用实例,加深读者对 Linux系统下 Shell编程的认识,提高读者的编程能力。

本书适用于 Shell编程初学者和 Linux系统管理的初学者,可以作为日常学习的教材,还可以作为日常管理的参考书。

前言

为何选择 Bash Shell? 

Linux系统的发布版本目前有很多,而 Debian系列的 Ubuntu系统是使用率较高的 Linux系统,在 Ubuntu系统中默认安装的 Bash也是所有 Linux系统中使用率较高的脚本语言,因此本书采用 Linux Bash来讲解脚本语言编程与应用。

本书真的适合你吗?

本书旨在帮助那些刚接触 Linux系统以及 Shell编程的“新人”,提供 Shell编程中的常用语法以及使用率较高的知识;本书涉及 Shell编程中的变量使用、条件结构、循环结构、函数、正则表达式、grep命令、sed编辑器、gawk编辑器的常用方式,读者可以根据自己的需要选择全部学习或只学习部分内容。

本书是一本全面的 Shell脚本编程技术书,是比较实用的 Shell编程案例书,部分实例和框架在下面给读者做一个预览。

涉及的示例和案例 

使用 Shell操作 MySQL数据库 函数的嵌套使用 

系统内存监控 数组在函数中的应用 

系统硬盘空间监控 循环结构的使用 

进程空闲监控 循环结构的控制 

日志定时备份 条件结构的使用 

计算器模拟 测试命令的使用 

后台程序运行过程控制 设备文件的挂载和卸载 

前台程序暂停及继续执行 输入输出的重定向 

使用键盘发送信号控制进程的执行 引号的使用 

正则表达式的使用  元字符的使用 

gawk编辑器的使用  通配符的使用 

sed编辑器的使用 管道的使用 

算术运算的实现 位置变量的使用 

函数的递归调用 环境变量的使用

本书特点 

.本书介绍的知识以及实例来自于多位“奋斗”在 Linux系统中的开发人员和实施维护人员,结合众人多年对 Shell脚本编程的了解和独特见解,因此本书的实用性是非常强的。书中所述内容不管是对理论知识的介绍,还是具体实例的开发,都是从实际应用角度出发,精心选择在实际项目中使用的实例进行细致的讲解和分析。 

.深入浅出、轻松易学,以实例为主线,激发读者的阅读兴趣,让读者能够真正学习到在 Linux系统下如何使用 Shell脚本解决实际问题。 

.贴近读者、贴近实际,本书中的实例大部分都紧跟一个知识点,做到理论和实际相结合,用大量的实例说明如何使用讲述的知识来编写 Shell脚本,从而解决实际问题。

面向读者 

. Linux系统 Shell编程初学者  . Linux环境开发人员  . Linux系统管理员  .网络管理员  .服务器管理员

资源下载

本书配套示例脚本包下载地址(请注意字母大小写和数字)如下: 

http://pan.baidu.com/s/1bnER5SF 如果下载有问题,请发邮件到电子邮箱 booksaga@163.com,邮件标题为“求 bash脚本”。

本书第 1~15章由南阳理工学院的马玉军编写,第 16~18章由郝军编写,其他参与编写的人员还有李光明、史帅、庞国威、娄晓东、郭刚、李兰英、林龙、张泽娜、李春城、宋楠、李为民、祝明慧、周瑞、潘承恩、殷龙。

编者 2014年 9月

目录

目 录 

第 1章学习 Shell的背景知识——Linux系统 .1 

1.1 Linux系统基础 1 

1.1.1 Linux系统的发展. 1 

1.1.2 Linux系统和 Windows系统的区别 2 

1.1.3 Linux的启动过程. 2 

1.2 Linux文件系统基础介绍 5 

1.2.1 必须了解的节点 inode 6 

1.2.2 Linux系统文件结构. 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.2 Shell在 Linux系统中的作用. 19 

1.4.3 Shell的种类. 20 

1.5 小结.21 

第 2章迈出 Shell脚本编程第一步 22 

2.1 Shell脚本语言概述 .22 

2.1.1 Shell脚本语言的定义. 22 

2.1.2 Shell终端的基本使用. 23 

2.1.3 Shell终端菜单的使用. 23 

2.2 Shell命令格式介绍 .24 

2.2.1 Shell命令格式. 24 

2.2.2 命令行界面介绍 25 

2.2.3 如何获取帮助 26 

2.3 第一个 Shell程序:Hello,Bash Shell! 28 

2.3.1 创建 Shell脚本 28 

2.3.2 Shell脚本中的格式介绍. 31 

2.3.3 如何执行 Shell程序 32 

2.4 小结.33 

第 3章 Shell常用命令大演练 34 

3.1 Shell命令使用基础 .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 

4.1 变量的简单使用.68 

4.1.1 变量的使用 68 

4.1.2 变量的输入和输出 70 

4.1.3 变量的输出命令 echo . 74 

4.2 Shell中特殊变量的使用 .78 

4.2.1 位置参数介绍 78 

4.2.2 $@和$*的区别 79 

4.3 环境变量的使用.80 

4.3.1 Shell中的环境变量. 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.1 Linux中的文件类型 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 

7.1.5 复合测试条件 129 

7.2 if分支结构 .131 

7.2.1 if -then结构. 131 

7.2.2 if -then-else结构 132 

7.2.3 嵌套结构 134 

7.3 case多条件分支结构.136 

7.3.1 case结构基础 137 

7.3.2 在 Shell脚本中使用 case结构. 138 

7.3.3 select命令的使用 139 

7.4 小结.140 

第 8章 Shell中的循环结构142 

8.1 for循环 .142 

8.1.1 使用 for-in结构. 142 

8.1.2 C式 for结构 . 145 

8.2 while命令的使用.148 

8.2.1 使用 while结构. 148 

8.2.2 多条件的 while结构. 149 

8.2.3 使用 until命令  149 

8.3 命令的嵌套.151 

8.3.1 for命令的嵌套  151 

8.3.2 while命令的嵌套 154 

8.3.3 until命令的嵌套 . 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.3 return命令的使用. 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.1 Shell脚本优化原则. 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.1 grep的基础使用 199 

12.1.1 grep命令的基本使用方式 199 

12.1.2 grep选项 200 

12.1.3 行数 201 

12.1.4 大小写敏感 202 

12.1.5 显示非匹配行 203 

12.1.6 查询多个文件或多个关键字 205 

12.2 grep和正则表达式 206 

12.2.1 模式范围以及范围组合 206 

12.2.2 定位符的使用 207 

12.2.3 字符匹配 208 

12.2.4 模式出现几率 209 

12.2.5 匹配特殊字符 210 

12.3 grep命令的扩展使用 211 

12.3.1 类名的使用 211 

12.3.2 egrep命令的使用 212 

12.3.3 fgrep命令的使用 213 

12.4 grep命令使用实例 214 

12.4.1 搜索——查找特定或文字 214 

12.4.2 使用 ps命令检索特定的进程 215 

12.5 小结.216 

第 13章 sed编程 217 

13.1 认识 sed 217 

13.1.1 sed工作模式 . 217 

13.1.2 sed常用指令 . 218 

13.1.3 sed常用选项 . 219 

13.1.4 sed地址范围 . 220 

13.2 sed编辑器常用命令 221 

13.2.1 替换命令的使用 221 

13.2.2 删除命令的使用 223 

13.2.3 文本的添加和替换 224 

13.3 高级 sed编程 .225 

13.3.1 同时处理多行数据 225 

13.3.2 sed编辑器的空间 . 226 

13.3.3 sed编辑器的反向 . 227 

13.3.4 重定向 sed的输出  228 

13.4 小结.229 

第 14章 gawk编程230 

14.1 gawk概述 .230 

14.1.1 gawk基本介绍 230 

14.1.2 gawk基本使用 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.1 Linux信号控制 250 

15.1.1 Linux信号机制简介. 250 

15.1.2 使用 Shell脚本操作信号 252 

15.2 进程的控制.254 

15.2.1 后台运行符介绍 254 

15.2.2 运行进程的控制 255 

15.2.3 nohup命令的使用. 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.1 dialog软件的安装. 262 

16.1.2 dialog命令的帮助选项. 263 

16.1.3 dialog命令的使用. 264 

16.2 dialog常用窗口的使用 .268 

16.2.1 消息窗口 268 

16.2.2 yesno窗口 . 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.2 Ubuntu自带的系统监控工具. 284 

17.1.3 监控脚本的编写 286 

17.2 计划任务的实现.287 

17.2.1 at命令的使用 287 

17.2.2 atq命令的使用 292 

17.2.3 cron的使用 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.1 Linux系统中的数据库 308 

18.1.1 SQLite简介. 308 

18.1.2 SQLite的图形化操作. 311 

18.1.3 MySQL简介 314 

18.2 SQL语句 316 

18.2.1 SQL语言基本介绍. 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 

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个