书名:linux shell 编程从初学到精通
作者:伍之昂
出版日期:2018
ISBN:
linux shell 编程从初学到精通
Shell是用户与内核进行交互操作的一种接口,是Linux最重要的软件之一,目前最流行的Shell称为bash Shell。bash Shell脚本编程以其简洁、高效而著称,多年来成为Linux程序员和系统管理员解决实际问题的利器。 《华清远见系列图书:Linux Shell编程从初学到精通(第2版)》结合大量的示例,系统、全面地介绍了bash Shell脚本编程的语法、命令、技巧、调试等内容,在书中还有很多练习可以引导读者思考,力求使读者掌握Linux bash Shell编程的所有特性。本书结构清晰、易教易学、实例丰富、可操作性强、学以致用,对易混淆和实用性强的内容进行了重点提示和讲解,并配有光盘,光盘中提供书中出现的所有脚本文件、各章的讲解PPT,以及各章的讲解录像。

目录

第1章 Shell脚本编程概述

1.1 Linux和Shell概述

1.1.1 Linux简介

1.1.2 Shell简介

1.1.3 Shell的种类和版本

1.2 Shell脚本编程的优势

1.3 第一个Shell脚本例子

1.3.1 Shell脚本的基本元素

1.3.2 执行Shell脚本

1.4 本章小结

第2章 Linux文件系统和文本编辑器

2.1 用户和用户组管理

2.1.1 用户管理常用命令

2.1.2 用户组管理常用命令

2.2 文件和目录操作

2.2.1 文件操作常用命令

2.2.2 目录操作常用命令

2.2.3 文件和目录权限管理

2.2.4 查找文件命令――find

2.3 文本编辑器

2.3.1 vim编辑器

2.3.2 Gedit编辑器

2.4 本章小结

2.5 上机提议

第3章 正则表达式

3.1 正则表达式基础

3.2 正则表达式的扩展

3.3 通配

3.4 grep命令

3.4.1 grep命令基本用法

3.4.2 grep和正则表达式结合

使用的一组例子

3.4.3 grep命令族简介

3.5 本章小结

3.6 上机提议

第4章 sed命令和awk编程

4.1 sed命令基本用法

4.2 sed命令的一组示例

4.2.1 sed命令选项的一组

例子

4.2.2 sed文本定位的一组

例子

4.2.3 sed基本编辑命令的

一组例子

4.2.4 sed高级编辑命令的

一组例子

4.3 awk编程

4.3.1 awk编程模型

4.3.2 awk调用方法

4.4 awk编程的一组例子

4.4.1 awk模式匹配

4.4.2 记录和域

4.4.3 关系和布尔运算符

4.4.4 表达式

4.4.5 系统变量

4.4.6 格式化输出

4.4.7 内置字符串函数

4.4.8 向awk脚本传递参数

4.4.9 条件语句和循环语句

4.4.10 数组

4.5 本章小结

4.6 上机提议

第5章 文件的排序、合并和分割

5.1 sort命令

5.1.1 sort命令的基本用法

5.1.2 sort和awk的联合

用法

5.2 uniq命令

5.3 join命令

5.4 cut命令

5.5 paste命令

5.6 split命令

5.7 tr命令

5.8 tar命令

5.9 本章小结

5.10 上机提议

第6章 变量和引用

6.1 变量

6.1.1 变量替换和赋值

6.1.2 类型的Shell脚本

变量

6.1.3 环境变量

6.1.4 位置参数

6.2 引用

6.2.1 全引用和部分引用

6.2.2 命令替换

6.2.3 转义

6.3 本章小结

6.4 上机提议

第7章 退出、测试、判断及操作符

7.1 退出状态

7.2 测试

7.2.1 测试结构

7.2.2 整数比较运算符

7.2.3 字符串运算符

7.2.4 文件操作符

7.2.5 逻辑运算符

7.3 判断

7.3.1 简单if结构

7.3.2 exit命令

7.3.3 if/else结构

7.3.4 if/else语句嵌套

7.3.5 if/elif/else结构

7.3.6 case结构

7.4 运算符

7.4.1 算术运算符

7.4.2 位运算符

7.4.3 自增自减运算符

7.4.4 数字常量

7.5 本章小结

7.6 上机提议

第8章 循环与结构化命令

8.1 for循环

8.1.1 列表for循环

8.1.2 不带列表for循环

8.1.3 类C风格的for循环

8.2 while循环

8.2.1 计数器控制的while

循环

8.2.2 结束标记控制的while

循环

8.2.3 标志控制的while

循环

8.2.4 命令行控制的while

循环

8.3 until循环

8.4 嵌套循环

8.5 循环控制符

8.5.1 break循环控制符

8.5.2 continue循环控制符

8.6 select结构

8.7 本章小结

8.8 上机提议

第9章 变量的高级用法

9.1 内部变量

9.2 字符串处理

9.3 有类型变量

9.4 间接变量引用

9.5 bash数学运算

9.5.1 expr命令

9.5.2 bc运算器

9.6 本章小结

9.7 上机提议

第10章 I/O重定向

10.1 管道

10.1.1 管道简介

10.1.2 cat和more命令

10.1.3 sed命令与管道

10.1.4 awk命令与管道

10.2 I/O重定向

10.2.1 文件标识符

10.2.2 I/O重定向符号

及其用法

10.2.3 exec命令的用法

10.2.4 代码块重定向

10.3 命令行处理

10.3.1 命令行处理流程

10.3.2 eval命令

10.4 本章小结

10.5 上机提议

第11章 Linux/UNIX Shell类型与

区别

11.1 Linux/UNIX Shell起源与

分类

11.2 dash简介

11.3 tcsh简介

11.4 Korn Shell简介

11.5 本章小结

第12章 子Shell与进程处理

12.1 子Shell

12.1.1 内建命令

12.1.2 圆括号结构

12.2 Shell的限制模式

12.3 进程处理

12.3.1 进程和作业

12.3.2 作业控制

12.3.3 信号

12.3.4 trap命令

12.4 本章小结

12.5 上机提议

第13章 函数

13.1 函数的定义和基本知识

13.2 向函数传递参数

13.3 函数返回值

13.4 函数调用

13.4.1 脚本放置多个函数

13.4.2 函数相互调用

13.4.3 一个函数调用多个

函数

13.5 局部变量和全局变量

13.6 函数递归

13.6.1 使用局部变量的递归

13.6.2 不使用局部变量的

递归

13.7 本章小结

13.8 上机提议

第14章 别名、列表及数组

14.1 别名

14.2 列表

14.3 数组

14.3.1 数组的基本用法

14.3.2 数组的特殊用法

14.3.3 用数组实现简单的

数据结构

14.4 本章小结

14.5 上机提议

第15章 一些混杂的主题

15.1 脚本编写风格

15.1.1 缩进

15.1.2 {}的格式

15.1.3 空格和空行的用法

15.1.4 判断和循环的编程

风格

15.1.5 命名规范

15.1.6 注释风格

15.2 脚本优化

15.2.1 简化脚本

15.2.2 保持脚本的灵活性

15.2.3 给用户足够的提示

15.3 Linux中的特殊命令

15.3.1 shift命令

15.3.2 getopts命令

15.4 交互式和非交互式Shell

脚本

15.4.1 非交互式Shell脚本

15.4.2 交互式Shell脚本

15.5 /dev文件系统

15.5.1 /dev文件系统基础

知识

15.5.2 /dev/zero伪设备

15.5.3 /dev/null伪设备

15.6 /proc文件系统

15.6.1 使用/proc/sys优化

系统参数

15.6.2 查看运行中的进程

信息

15.6.3 查看文件系统信息

15.6.4 查看网络信息

15.7 Shell包装

15.8 带颜色的脚本

15.9 Linux脚本安全

15.9.1 使用shc工具加密

Shell脚本

15.9.2 Linux Shell脚本编写

的病毒

15.9.3 Linux Shell中的木马

15.10 本章小结

15.1 上机提议

第16章 Shell脚本调试技术

16.1 Shell脚本调试概述

16.2 Shell脚本调试技术

16.2.1 使用trap命令

16.2.2 使用tee命令

16.2.3 调试钩子

16.2.4 使用Shell选项

16.3 本章小结

16.4 上机提议

第17章 bash Shell编程范例

17.1 将文本文件转化为HTML

文件

17.2 查找文本中n个出现频率

最高的单词

17.3 伪随机数的产生和应用

17.4 crontab的设置和应用

17.5 使用MySQL数据库

17.5.1 MySQL基础

17.5.2 Shell脚本使用

MySQL

17.6 Linux服务器性能监控系统

17.6.1 Ganglia简介及安装

17.6.2 提取服务器性能

参数名称及数据

17.6.3 动态更新服务器

监控数据

17.7 本章小结

17.8 上机提议

附录

附录A POSIX标准简介

附录B 常用ASCII码对照表

附录C Linux信号及其意义

附录D bash内建变量索引

附录E bash内建命令索引


阅读全文