书籍详情
Linux命令行与Shell脚本编程大全(第2版)
作者:(美)Richard Blum,Christine Bresnahan 著 武海峰 译
出版社:人民邮电出版社
出版时间:2012-09-01
ISBN:9787115288899
定价:¥99.00
购买这本书可以去
内容简介
《Linux命令行与shell脚本编程大全(第2版)》是一本关于Linux命令行与shell脚本编程的全面教程。全书分为四部分:第一部分介绍Linuxshell命令行;第二部分介绍shell脚本编程基础;第三部分深入探讨shell脚本编程的高级内容;第四部分介绍如何在现实环境中使用shell脚本。本书不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。《Linux命令行与shell脚本编程大全(第2版)》内容全面,语言简练,示例丰富,适合于Linux系统管理员及Linux爱好者阅读参考。
作者简介
Richard Blum,系统和网络管理员,已经在IT行业工作了22年多。他管理过UNIX、Linux、Novell和微软服务器,用Linux shell脚本进行过自动化网络监测,并在大多数常见的Linux shell环境中写过脚本。他还是一名网络课程讲师,美国各地的多所大学和学院都采用他的Linux基础课程。除本书外,Richard还著有Professional Linux Programming等书。 Christine Bresnahan,系统管理员,已经在IT行业工作了近30年。目前在印第安纳波利斯市的常春藤技术社区学院担任兼职教授,讲授Linux系统管理、Linux安全和Windows安全等课程。 译者简介: 武海峰,Linux系统工程师,兴趣集中在GNU/Linux和移动互联应用,热衷于开源软件。曾在商业Linux厂商任职,从事移动设备操作系统集成和商业Linux发行版集成工作。
目录
第一部分 Linux 命令行
第1章 初识Linux shell
1.1 什么是Linux
1.1.1 深入探究Linux内核
1.1.2 GNU工具链
1.1.3 Linux桌面环境
1.2 Linux发行版
1.2.1 核心Linux发行版
1.2.2 专业Linux发行版
1.2.3 Linux LiveCD
1.3 小结
第2章 走进shell
2.1 终端模拟
2.1.1 图形功能
2.1.2 键盘
2.2 terminfo数据库
2.3 Linux控制台
2.4 xterm终端
2.4.1 命令行参数
2.4.2 xterm主菜单
2.4.3 VT选项菜单
2.4.4 VT字体菜单
2.5 Konsole终端
2.5.1 命令行参数
2.5.2 标签式窗口会话
2.5.3 配置文件
2.5.4 菜单栏
2.6 GNOME Terminal
2.6.1 命令行参数
2.6.2 标签
2.6.3 菜单栏
2.7 小结
第3章 基本的bash shell命令
3.1 启动shell
3.2 shell提示符
3.3 bash手册
3.4 浏览文件系统
3.4.1 Linux文件系统
3.4.2 遍历目录
3.5 文件和目录列表
3.5.1 基本列表功能
3.5.2 修改输出信息
3.5.3 完整的参数列表
3.5.4 过滤输出列表
3.6 处理文件
3.6.1 创建文件
3.6.2 复制文件
3.6.3 链接文件
3.6.4 重命名文件
3.6.5 删除文件
3.7 处理目录
3.7.1 创建目录
3.7.2 删除目录
3.8 查看文件内容
3.8.1 查看文件统计信息
3.8.2 查看文件类型
3.8.3 查看整个文件
3.8.4 查看部分文件
3.9 小结
第4章 更多的bash shell命令
4.1 监测程序
4.1.1 探查进程
4.1.2 实时监测进程
4.1.3 结束进程
4.2 监测磁盘空间
4.2.1 挂载存储媒体
4.2.2 使用df命令
4.2.3 使用du命令
4.3 处理数据文件
4.3.1 排序数据
4.3.2 搜索数据
4.3.3 压缩数据
4.3.4 归档数据
4.4 小结
第5章 使用Linux环境变量
5.1 什么是环境变量
5.1.1 全局环境变量
5.1.2 局部环境变量
5.2 设置环境变量
5.2.1 设置局部环境变量
5.2.2 设置全局环境变量
5.3 删除环境变量
5.4 默认shell环境变量
5.5 设置PATH环境变量
5.6 定位系统环境变量
5.6.1 登录shell
5.6.2 交互式shell
5.6.3 非交互式shell
5.7 可变数组
5.8 使用命令别名
5.9 小结
第6章 理解Linux文件权限
6.1 Linux的安全性
6.1.1 /etc/passwd文件
6.1.2 /etc/shadow文件
6.1.3 添加新用户
6.1.4 删除用户
6.1.5 修改用户
6.2 使用Linux组
6.2.1 /etc/group文件
6.2.2 创建新组
6.2.3 修改组
6.3 理解文件权限
6.3.1 使用文件权限符
6.3.2 默认文件权限
6.4 改变安全性设置
6.4.1 改变权限
6.4.2 改变所属关系
6.5 共享文件
6.6 小结
第7章 管理文件系统
7.1 探索Linux文件系统
7.1.1 基本的Linux文件系统
7.1.2 日志文件系统
7.1.3 扩展的Linux日志文件系统
7.2 操作文件系统
7.2.1 创建分区
7.2.2 创建文件系统
7.2.3 如果出错了
7.3 逻辑卷管理器
7.3.1 逻辑卷管理布局
7.3.2 Linux中的LVM
7.3.3 使用Linux LVM
7.4 小结
第8章 安装软件程序
8.1 包管理基础
8.2 基于Debian的系统
8.2.1 用aptitude管理软件包
8.2.2 用aptitude安装软件包
8.2.3 用aptitude更新软件
8.2.4 用aptitude卸载软件
8.2.5 aptitude库
8.3 基于Red Hat的系统
8.3.1 列出已安装包
8.3.2 用yum安装软件
8.3.3 用yum更新软件
8.3.4 用yum卸载软件
8.3.5 处理损坏的包依赖关系
8.3.6 yum软件库
8.4 从源码安装
8.5 小结
第9章 使用编辑器
9.1 Vim编辑器
9.1.1 Vim基础
9.1.2 编辑数据
9.1.3 复制和粘贴
9.1.4 查找和替换
9.2 Emacs编辑器
9.2.1 在控制台上使用Emacs
9.2.2 在X Window中使用Emacs
9.3 KDE系编辑器
9.3.1 KWrite编辑器
9.3.2 Kate编辑器
9.4 GNOME编辑器
9.4.1 启动gedit
9.4.2 基本的gedit功能
9.4.3 设定偏好设置
9.5 小结
第二部分 shell脚本编程基础
第10章 构建基本脚本
10.1 使用多个命令
10.2 创建shell脚本文件
10.3 显示消息
10.4 使用变量
10.4.1 环境变量
10.4.2 用户变量
10.4.3 反引号
10.5 重定向输入和输出
10.5.1 输出重定向
10.5.2 输入重定向
10.6 管道
10.7 执行数学运算
10.7.1 expr命令
10.7.2 使用方括号
10.7.3 浮点解决方案
10.8 退出脚本
10.8.1 查看退出状态码
10.8.2 exit命令
10.9 小结
第11章 使用结构化命令
11.1 使用if-then语句
11.2 if-then-else语句
11.3 嵌套if
11.4 test命令
11.4.1 数值比较
11.4.2 字符串比较
11.4.3 文件比较
11.5 复合条件测试
11.6 if-then的高级特性
11.6.1 使用双尖括号
11.6.2 使用双方括号
11.7 case命令
11.8 小结
第12章 更多的结构化命令
12.1 for命令
12.1.1 读取列表中的值
12.1.2 读取列表中的复杂值
12.1.3 从变量读取列表
12.1.4 从命令读取值
12.1.5 更改字段分隔符
12.1.6 用通配符读取目录
12.2 C语言风格的for命令
12.2.1 C语言的for命令
12.2.2 使用多个变量
12.3 while命令
12.3.1 while的基本格式
12.3.2 使用多个测试命令
12.4 until命令
12.5 嵌套循环
12.6 循环处理文件数据
12.7 控制循环
12.7.1 break命令
12.7.2 continue命令
12.8 处理循环的输出
12.9 小结
第13章 处理用户输入
13.1 命令行参数
13.1.1 读取参数
13.1.2 读取程序名
13.1.3 测试参数
13.2 特殊参数变量
13.2.1 参数计数
13.2.2 抓取所有的数据
13.3 移动变量
13.4 处理选项
13.4.1 查找选项
13.4.2 使用getopt命令
13.4.3 使用更高级的getopts
13.5 将选项标准化
13.6 获得用户输入
13.6.1 基本的读取
13.6.2 超时
13.6.3 隐藏方式读取
13.6.4 从文件中读取
13.7 小结
第14章 呈现数据
14.1 理解输入和输出
14.1.1 标准文件描述符
14.1.2 重定向错误
14.2 在脚本中重定向输出
14.2.1 临时重定向
14.2.2 永久重定向
14.3 在脚本中重定向输入
14.4 创建自己的重定向
14.4.1 创建输出文件描述符
14.4.2 重定向文件描述符
14.4.3 创建输入文件描述符
14.4.4 创建读写文件描述符
14.4.5 关闭文件描述符
14.5 列出打开的文件描述符
14.6 阻止命令输出
14.7 创建临时文件
14.7.1 创建本地临时文件
14.7.2 在/tmp目录创建临时文件
14.7.3 创建临时目录
14.8 记录消息
14.9 小结
第15章 控制脚本
15.1 处理信号
15.1.1 重温Linux信号
15.1.2 产生信号
15.1.3 捕捉信号
15.1.4 捕捉脚本的退出
15.1.5 移除捕捉
15.2 以后台模式运行脚本
15.2.1 后台运行脚本
15.2.2 运行多个后台作业
15.2.3 退出终端
15.3 在非控制台下运行脚本
15.4 作业控制
15.4.1 查看作业
15.4.2 重启停止的作业
15.5 调整谦让度
15.5.1 nice命令
15.5.2 renice命令
15.6 定时运行作业
15.6.1 用at命令来计划执行作业
15.6.2 计划定期执行脚本
15.7 启动时运行
15.7.1 开机时运行脚本
15.7.2 在新shell中启动
15.8 小结
第三部分 高级shell脚本编程
第16章 创建函数
16.1 基本的脚本函数
16.1.1 创建函数
16.1.2 使用函数
16.2 返回值
16.2.1 默认退出状态码
16.2.2 使用return命令
16.2.3 使用函数输出
16.3 在函数中使用变量
16.3.1 向函数传递参数
16.3.2 在函数中处理变量
16.4 数组变量和函数
16.4.1 向函数传数组参数
16.4.2 从函数返回数组
16.5 函数递归
16.6 创建库
16.7 在命令行上使用函数
16.7.1 在命令行上创建函数
16.7.2 在.bashrc文件中定义函数
16.8 小结
第17章 图形化桌面上的脚本编程
17.1 创建文本菜单
17.1.1 创建菜单布局
17.1.2 创建菜单函数
17.1.3 添加菜单逻辑
17.1.4 整合shell脚本菜单
17.1.5 使用select命令
17.2 使用窗口
17.2.1 dialog包
17.2.2 dialog选项
17.2.3 在脚本中使用dialog命令
17.3 使用图形
17.3.1 KDE环境
17.3.2 GNOME环境
17.4 小结
第18章 初识sed和gawk
18.1 文本处理
18.1.1 sed编辑器
18.1.2 gawk程序
18.2 sed编辑器基础
18.2.1 更多的替换选项
18.2.2 使用地址
18.2.3 删除行
18.2.4 插入和附加文本
18.2.5 修改行
18.2.6 转换命令
18.2.7 回顾打印
18.2.8 用sed和文件一起工作
18.3 小结
第19章 正则表达式
19.1 什么是正则表达式
19.1.1 定义
19.1.2 正则表达式的类型
19.2 定义BRE模式
19.2.1 纯文本
19.2.2 特殊字符
19.2.3 锚字符
19.2.4 点字符
19.2.5 字符组
19.2.6 排除字符组
19.2.7 使用区间
19.2.8 特殊字符组
19.2.9 星号
19.3 扩展正则表达式
19.3.1 问号
19.3.2 加号
19.3.3 使用花括号
19.3.4 管道符号
19.3.5 聚合表达式
19.4 实用中的正则表达式
19.4.1 目录文件计数
19.4.2 验证电话号码
19.4.3 解析邮件地址
19.5 小结
第20章 sed进阶
20.1 多行命令
20.1.1 next命令
20.1.2 多行删除命令
20.1.3 多行打印命令
20.2 保持空间
20.3 排除命令
20.4 改变流
20.4.1 跳转
20.4.2 测试
20.5 模式替代
20.5.1 and符号
20.5.2 替换单独的单词
20.6 在脚本中使用sed
20.6.1 使用包装脚本
20.6.2 重定向sed的输出
20.7 创建sed实用工具
20.7.1 加倍行间距
20.7.2 对可能含有空白行的文件加倍行间距
20.7.3 给文件中的行编号
20.7.4 打印末尾行
20.7.5 删除行
20.7.6 删除HTML标签
20.8 小结
第21章 gawk进阶
21.1 使用变量
21.1.1 内建变量
21.1.2 自定义变量
21.2 处理数组
21.2.1 定义数组变量
21.2.2 遍历数组变量
21.2.3 删除数组变量
21.3 使用模式
21.3.1 正则表达式
21.3.2 匹配操作符
21.3.3 数学表达式
21.4 结构化命令
21.4.1 if语句
21.4.2 while语句
21.4.3 do-while语句
21.4.4 for语句
21.5 格式化打印
21.6 内建函数
21.6.1 数学函数
21.6.2 字符串函数
21.6.3 时间函数
21.7 自定义函数
21.7.1 定义函数
21.7.2 使用自定义函数
21.7.3 创建函数库
21.8 小结
第22章 使用其他shell
22.1 什么是dash shell
22.2 dash shell的特性
22.2.1 dash命令行参数
22.2.2 dash环境变量
22.2.3 dash内建命令
22.3 dash脚本编程
22.3.1 创建dash脚本
22.3.2 不能使用的功能
22.4 zsh shell
22.5 zsh shell的组成
22.5.1 shell选项
22.5.2 内建命令
22.6 zsh脚本编程
22.6.1 数学运算
22.6.2 结构化命令
22.6.3 函数
22.7 小结
第四部分 高级shell脚本编程主题
第23章 使用数据库
23.1 MySQL数据库
23.1.1 安装MySQL
23.1.2 MySQL客户端界面
23.1.3 创建MySQL数据库对象
23.2 PostgreSQL数据库
23.2.1 安装PostgreSQL
23.2.2 PostgreSQL命令行界面
23.2.3 创建PostgreSQL数据库对象
23.3 使用数据表
23.3.1 创建数据表
23.3.2 插入和删除数据
23.3.3 查询数据
23.4 在脚本中使用数据库
23.4.1 连接到数据库
23.4.2 向服务器发送命令
23.4.3 格式化数据
23.5 小结
第24章 使用Web
24.1 Lynx程序
24.1.1 安装Lynx
24.1.2 lynx命令行
24.1.3 Lynx配置文件
24.1.4 Lynx环境变量
24.1.5 从Lynx中抓取数据
24.2 cURL程序
24.2.1 安装cURL
24.2.2 探索cURL
24.3 使用zsh处理网络
24.3.1 TCP模块
24.3.2 客户端/服务器模式
24.3.3 使用zsh进行C/S编程
24.4 小结
第25章 使用E-mail
25.1 Linux E-mail基础
25.1.1 Linux中的E-mail
25.1.2 邮件传送代理
25.1.3 邮件投递代理
25.1.4 邮件用户代理
25.2 建立服务器
25.2.1 sendmail
25.2.2 Postfix
25.3 使用Mailx发送消息
25.4 Mutt程序
25.4.1 安装Mutt
25.4.2 Mutt命令行
25.4.3 使用Mutt
25.5 小结
第26章 编写脚本实用工具
26.1 监测磁盘空间
26.1.1 需要的功能
26.1.2 创建脚本
26.1.3 运行脚本
26.2 进行备份
26.3 管理用户账户
26.3.1 需要的功能
26.3.2 创建脚本
26.4 小结
第27章 shell脚本编程进阶
27.1 监测系统统计数据
27.1.1 系统快照报告
27.1.2 系统统计数据报告
27.2 问题跟踪数据库
27.2.1 创建数据库
27.2.2 记录问题
27.2.3 更新问题
27.2.4 查找问题
27.3 小结
附录A bash命令快速指南
附录B sed和gawk快速指南
第1章 初识Linux shell
1.1 什么是Linux
1.1.1 深入探究Linux内核
1.1.2 GNU工具链
1.1.3 Linux桌面环境
1.2 Linux发行版
1.2.1 核心Linux发行版
1.2.2 专业Linux发行版
1.2.3 Linux LiveCD
1.3 小结
第2章 走进shell
2.1 终端模拟
2.1.1 图形功能
2.1.2 键盘
2.2 terminfo数据库
2.3 Linux控制台
2.4 xterm终端
2.4.1 命令行参数
2.4.2 xterm主菜单
2.4.3 VT选项菜单
2.4.4 VT字体菜单
2.5 Konsole终端
2.5.1 命令行参数
2.5.2 标签式窗口会话
2.5.3 配置文件
2.5.4 菜单栏
2.6 GNOME Terminal
2.6.1 命令行参数
2.6.2 标签
2.6.3 菜单栏
2.7 小结
第3章 基本的bash shell命令
3.1 启动shell
3.2 shell提示符
3.3 bash手册
3.4 浏览文件系统
3.4.1 Linux文件系统
3.4.2 遍历目录
3.5 文件和目录列表
3.5.1 基本列表功能
3.5.2 修改输出信息
3.5.3 完整的参数列表
3.5.4 过滤输出列表
3.6 处理文件
3.6.1 创建文件
3.6.2 复制文件
3.6.3 链接文件
3.6.4 重命名文件
3.6.5 删除文件
3.7 处理目录
3.7.1 创建目录
3.7.2 删除目录
3.8 查看文件内容
3.8.1 查看文件统计信息
3.8.2 查看文件类型
3.8.3 查看整个文件
3.8.4 查看部分文件
3.9 小结
第4章 更多的bash shell命令
4.1 监测程序
4.1.1 探查进程
4.1.2 实时监测进程
4.1.3 结束进程
4.2 监测磁盘空间
4.2.1 挂载存储媒体
4.2.2 使用df命令
4.2.3 使用du命令
4.3 处理数据文件
4.3.1 排序数据
4.3.2 搜索数据
4.3.3 压缩数据
4.3.4 归档数据
4.4 小结
第5章 使用Linux环境变量
5.1 什么是环境变量
5.1.1 全局环境变量
5.1.2 局部环境变量
5.2 设置环境变量
5.2.1 设置局部环境变量
5.2.2 设置全局环境变量
5.3 删除环境变量
5.4 默认shell环境变量
5.5 设置PATH环境变量
5.6 定位系统环境变量
5.6.1 登录shell
5.6.2 交互式shell
5.6.3 非交互式shell
5.7 可变数组
5.8 使用命令别名
5.9 小结
第6章 理解Linux文件权限
6.1 Linux的安全性
6.1.1 /etc/passwd文件
6.1.2 /etc/shadow文件
6.1.3 添加新用户
6.1.4 删除用户
6.1.5 修改用户
6.2 使用Linux组
6.2.1 /etc/group文件
6.2.2 创建新组
6.2.3 修改组
6.3 理解文件权限
6.3.1 使用文件权限符
6.3.2 默认文件权限
6.4 改变安全性设置
6.4.1 改变权限
6.4.2 改变所属关系
6.5 共享文件
6.6 小结
第7章 管理文件系统
7.1 探索Linux文件系统
7.1.1 基本的Linux文件系统
7.1.2 日志文件系统
7.1.3 扩展的Linux日志文件系统
7.2 操作文件系统
7.2.1 创建分区
7.2.2 创建文件系统
7.2.3 如果出错了
7.3 逻辑卷管理器
7.3.1 逻辑卷管理布局
7.3.2 Linux中的LVM
7.3.3 使用Linux LVM
7.4 小结
第8章 安装软件程序
8.1 包管理基础
8.2 基于Debian的系统
8.2.1 用aptitude管理软件包
8.2.2 用aptitude安装软件包
8.2.3 用aptitude更新软件
8.2.4 用aptitude卸载软件
8.2.5 aptitude库
8.3 基于Red Hat的系统
8.3.1 列出已安装包
8.3.2 用yum安装软件
8.3.3 用yum更新软件
8.3.4 用yum卸载软件
8.3.5 处理损坏的包依赖关系
8.3.6 yum软件库
8.4 从源码安装
8.5 小结
第9章 使用编辑器
9.1 Vim编辑器
9.1.1 Vim基础
9.1.2 编辑数据
9.1.3 复制和粘贴
9.1.4 查找和替换
9.2 Emacs编辑器
9.2.1 在控制台上使用Emacs
9.2.2 在X Window中使用Emacs
9.3 KDE系编辑器
9.3.1 KWrite编辑器
9.3.2 Kate编辑器
9.4 GNOME编辑器
9.4.1 启动gedit
9.4.2 基本的gedit功能
9.4.3 设定偏好设置
9.5 小结
第二部分 shell脚本编程基础
第10章 构建基本脚本
10.1 使用多个命令
10.2 创建shell脚本文件
10.3 显示消息
10.4 使用变量
10.4.1 环境变量
10.4.2 用户变量
10.4.3 反引号
10.5 重定向输入和输出
10.5.1 输出重定向
10.5.2 输入重定向
10.6 管道
10.7 执行数学运算
10.7.1 expr命令
10.7.2 使用方括号
10.7.3 浮点解决方案
10.8 退出脚本
10.8.1 查看退出状态码
10.8.2 exit命令
10.9 小结
第11章 使用结构化命令
11.1 使用if-then语句
11.2 if-then-else语句
11.3 嵌套if
11.4 test命令
11.4.1 数值比较
11.4.2 字符串比较
11.4.3 文件比较
11.5 复合条件测试
11.6 if-then的高级特性
11.6.1 使用双尖括号
11.6.2 使用双方括号
11.7 case命令
11.8 小结
第12章 更多的结构化命令
12.1 for命令
12.1.1 读取列表中的值
12.1.2 读取列表中的复杂值
12.1.3 从变量读取列表
12.1.4 从命令读取值
12.1.5 更改字段分隔符
12.1.6 用通配符读取目录
12.2 C语言风格的for命令
12.2.1 C语言的for命令
12.2.2 使用多个变量
12.3 while命令
12.3.1 while的基本格式
12.3.2 使用多个测试命令
12.4 until命令
12.5 嵌套循环
12.6 循环处理文件数据
12.7 控制循环
12.7.1 break命令
12.7.2 continue命令
12.8 处理循环的输出
12.9 小结
第13章 处理用户输入
13.1 命令行参数
13.1.1 读取参数
13.1.2 读取程序名
13.1.3 测试参数
13.2 特殊参数变量
13.2.1 参数计数
13.2.2 抓取所有的数据
13.3 移动变量
13.4 处理选项
13.4.1 查找选项
13.4.2 使用getopt命令
13.4.3 使用更高级的getopts
13.5 将选项标准化
13.6 获得用户输入
13.6.1 基本的读取
13.6.2 超时
13.6.3 隐藏方式读取
13.6.4 从文件中读取
13.7 小结
第14章 呈现数据
14.1 理解输入和输出
14.1.1 标准文件描述符
14.1.2 重定向错误
14.2 在脚本中重定向输出
14.2.1 临时重定向
14.2.2 永久重定向
14.3 在脚本中重定向输入
14.4 创建自己的重定向
14.4.1 创建输出文件描述符
14.4.2 重定向文件描述符
14.4.3 创建输入文件描述符
14.4.4 创建读写文件描述符
14.4.5 关闭文件描述符
14.5 列出打开的文件描述符
14.6 阻止命令输出
14.7 创建临时文件
14.7.1 创建本地临时文件
14.7.2 在/tmp目录创建临时文件
14.7.3 创建临时目录
14.8 记录消息
14.9 小结
第15章 控制脚本
15.1 处理信号
15.1.1 重温Linux信号
15.1.2 产生信号
15.1.3 捕捉信号
15.1.4 捕捉脚本的退出
15.1.5 移除捕捉
15.2 以后台模式运行脚本
15.2.1 后台运行脚本
15.2.2 运行多个后台作业
15.2.3 退出终端
15.3 在非控制台下运行脚本
15.4 作业控制
15.4.1 查看作业
15.4.2 重启停止的作业
15.5 调整谦让度
15.5.1 nice命令
15.5.2 renice命令
15.6 定时运行作业
15.6.1 用at命令来计划执行作业
15.6.2 计划定期执行脚本
15.7 启动时运行
15.7.1 开机时运行脚本
15.7.2 在新shell中启动
15.8 小结
第三部分 高级shell脚本编程
第16章 创建函数
16.1 基本的脚本函数
16.1.1 创建函数
16.1.2 使用函数
16.2 返回值
16.2.1 默认退出状态码
16.2.2 使用return命令
16.2.3 使用函数输出
16.3 在函数中使用变量
16.3.1 向函数传递参数
16.3.2 在函数中处理变量
16.4 数组变量和函数
16.4.1 向函数传数组参数
16.4.2 从函数返回数组
16.5 函数递归
16.6 创建库
16.7 在命令行上使用函数
16.7.1 在命令行上创建函数
16.7.2 在.bashrc文件中定义函数
16.8 小结
第17章 图形化桌面上的脚本编程
17.1 创建文本菜单
17.1.1 创建菜单布局
17.1.2 创建菜单函数
17.1.3 添加菜单逻辑
17.1.4 整合shell脚本菜单
17.1.5 使用select命令
17.2 使用窗口
17.2.1 dialog包
17.2.2 dialog选项
17.2.3 在脚本中使用dialog命令
17.3 使用图形
17.3.1 KDE环境
17.3.2 GNOME环境
17.4 小结
第18章 初识sed和gawk
18.1 文本处理
18.1.1 sed编辑器
18.1.2 gawk程序
18.2 sed编辑器基础
18.2.1 更多的替换选项
18.2.2 使用地址
18.2.3 删除行
18.2.4 插入和附加文本
18.2.5 修改行
18.2.6 转换命令
18.2.7 回顾打印
18.2.8 用sed和文件一起工作
18.3 小结
第19章 正则表达式
19.1 什么是正则表达式
19.1.1 定义
19.1.2 正则表达式的类型
19.2 定义BRE模式
19.2.1 纯文本
19.2.2 特殊字符
19.2.3 锚字符
19.2.4 点字符
19.2.5 字符组
19.2.6 排除字符组
19.2.7 使用区间
19.2.8 特殊字符组
19.2.9 星号
19.3 扩展正则表达式
19.3.1 问号
19.3.2 加号
19.3.3 使用花括号
19.3.4 管道符号
19.3.5 聚合表达式
19.4 实用中的正则表达式
19.4.1 目录文件计数
19.4.2 验证电话号码
19.4.3 解析邮件地址
19.5 小结
第20章 sed进阶
20.1 多行命令
20.1.1 next命令
20.1.2 多行删除命令
20.1.3 多行打印命令
20.2 保持空间
20.3 排除命令
20.4 改变流
20.4.1 跳转
20.4.2 测试
20.5 模式替代
20.5.1 and符号
20.5.2 替换单独的单词
20.6 在脚本中使用sed
20.6.1 使用包装脚本
20.6.2 重定向sed的输出
20.7 创建sed实用工具
20.7.1 加倍行间距
20.7.2 对可能含有空白行的文件加倍行间距
20.7.3 给文件中的行编号
20.7.4 打印末尾行
20.7.5 删除行
20.7.6 删除HTML标签
20.8 小结
第21章 gawk进阶
21.1 使用变量
21.1.1 内建变量
21.1.2 自定义变量
21.2 处理数组
21.2.1 定义数组变量
21.2.2 遍历数组变量
21.2.3 删除数组变量
21.3 使用模式
21.3.1 正则表达式
21.3.2 匹配操作符
21.3.3 数学表达式
21.4 结构化命令
21.4.1 if语句
21.4.2 while语句
21.4.3 do-while语句
21.4.4 for语句
21.5 格式化打印
21.6 内建函数
21.6.1 数学函数
21.6.2 字符串函数
21.6.3 时间函数
21.7 自定义函数
21.7.1 定义函数
21.7.2 使用自定义函数
21.7.3 创建函数库
21.8 小结
第22章 使用其他shell
22.1 什么是dash shell
22.2 dash shell的特性
22.2.1 dash命令行参数
22.2.2 dash环境变量
22.2.3 dash内建命令
22.3 dash脚本编程
22.3.1 创建dash脚本
22.3.2 不能使用的功能
22.4 zsh shell
22.5 zsh shell的组成
22.5.1 shell选项
22.5.2 内建命令
22.6 zsh脚本编程
22.6.1 数学运算
22.6.2 结构化命令
22.6.3 函数
22.7 小结
第四部分 高级shell脚本编程主题
第23章 使用数据库
23.1 MySQL数据库
23.1.1 安装MySQL
23.1.2 MySQL客户端界面
23.1.3 创建MySQL数据库对象
23.2 PostgreSQL数据库
23.2.1 安装PostgreSQL
23.2.2 PostgreSQL命令行界面
23.2.3 创建PostgreSQL数据库对象
23.3 使用数据表
23.3.1 创建数据表
23.3.2 插入和删除数据
23.3.3 查询数据
23.4 在脚本中使用数据库
23.4.1 连接到数据库
23.4.2 向服务器发送命令
23.4.3 格式化数据
23.5 小结
第24章 使用Web
24.1 Lynx程序
24.1.1 安装Lynx
24.1.2 lynx命令行
24.1.3 Lynx配置文件
24.1.4 Lynx环境变量
24.1.5 从Lynx中抓取数据
24.2 cURL程序
24.2.1 安装cURL
24.2.2 探索cURL
24.3 使用zsh处理网络
24.3.1 TCP模块
24.3.2 客户端/服务器模式
24.3.3 使用zsh进行C/S编程
24.4 小结
第25章 使用E-mail
25.1 Linux E-mail基础
25.1.1 Linux中的E-mail
25.1.2 邮件传送代理
25.1.3 邮件投递代理
25.1.4 邮件用户代理
25.2 建立服务器
25.2.1 sendmail
25.2.2 Postfix
25.3 使用Mailx发送消息
25.4 Mutt程序
25.4.1 安装Mutt
25.4.2 Mutt命令行
25.4.3 使用Mutt
25.5 小结
第26章 编写脚本实用工具
26.1 监测磁盘空间
26.1.1 需要的功能
26.1.2 创建脚本
26.1.3 运行脚本
26.2 进行备份
26.3 管理用户账户
26.3.1 需要的功能
26.3.2 创建脚本
26.4 小结
第27章 shell脚本编程进阶
27.1 监测系统统计数据
27.1.1 系统快照报告
27.1.2 系统统计数据报告
27.2 问题跟踪数据库
27.2.1 创建数据库
27.2.2 记录问题
27.2.3 更新问题
27.2.4 查找问题
27.3 小结
附录A bash命令快速指南
附录B sed和gawk快速指南
猜您喜欢