描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787111447672丛书名: 信息科学与技术丛书
内容简介
本书介绍Linux系统中的shell编程及应用管理操作,主要内容包括shell的基础知识、编辑器使用、简单的算术运算和进制转换及移位运算、程序流程控制、文件备份、字符以及字符串、正则表达式知识和应用、数据的输入输出、网络编程应用、系统硬盘空间的操作管理、系统进程的管理、视图窗口界面的构造等。
本书使用大量shell脚本实例,并对每个实例进行了详细注释。本书适合Linux程序员、自学shell脚本编程的入门读者,也可用作高等院校计算机专业的教材。
本书使用大量shell脚本实例,并对每个实例进行了详细注释。本书适合Linux程序员、自学shell脚本编程的入门读者,也可用作高等院校计算机专业的教材。
目 录
出版说明
前言
第1章 Linux shell概述
1.1 Linux shell概念
1.1.1 Linux shell的作用
1.1.2 使用shell的原因
1.1.3 shell模式类别
1.2 shell工作原理
1.3 Linux shell类型简述
1.3.1 常见的shell
1.3.2 各种shell的切换
1.4 shell环境平台构造
1.5 shell脚本包装
1.5.1 用awk包装shell脚本
1.5.2 用sed包装shell脚本
第2章 编辑器及脚本设计
2.1 Linux编辑器
2.1.1 使用编辑器的益处
2.1.2 主要的Linux编辑器
2.2 Emacs编辑器
2.2.1 在文本模式中使用
2.2.2 在图形系统下使用
2.2.3 Emacs编辑器操作命令
2.3 vi编辑器
2.3.1 vi与vim编辑器
2.3.2 vi工作模式
2.3.3 常用的操作命令
2.3.4 vi编辑器应用操作
2.4 shell脚本程序
2.4.1 脚本编写和执行
2.4.2 shell脚本追踪
第3章 shell变量
3.1 shell变量概述
3.2 shell变量的类型
3.2.1 shell局部变量
3.2.2 shell环境变量
3.2.3 shell特殊变量
3.3 系统内置变量
3.4 shell变量的设置
3.5 shell变量应用
3.5.1 shell变量赋值
3.5.2 变量引用与转义
第4章 算术运算
4.1 算术运算的概念
4.2 数值相加
4.3 数值相减
4.4 数值乘除
4.5 数值大小比较
4.6 高级应用
4.6.1 移位运算操作
4.6.2 逻辑运算操作
4.6.3 进制转换操作
第5章 程序流程控制
5.1 循环语句类别
5.1.1 for循环语句
5.1.2 while循环语句
5.1.3 until循环语句
5.2 选择与分支结构
5.2.1 if语句结构
5.2.2 case语句结构
5.2.3 select语句结构
5.3 循环控制语句
5.3.1 break控制语句
5.3.2 continue控制语句
5.4 嵌套循环语句
第6章 文件编辑
6.1 系统的文件类型
6.1.1 普通文件
6.1.2 目录文件
6.1.3 链接文件
6.1.4 特殊文件
6.2 文件存在性测试
6.2.1 内置式测试方式
6.2.2 交互式测试方式
6.3 文件应用操作
6.3.1 创建文本文件
6.3.2 文件备份
6.3.3 文件重命名与删除
6.3.4 文件完整性检查
6.4 编辑文本内容
6.4.1 查阅文本内容
6.4.2 文本内容比较
6.4.3 文本内容重定向
6.5 特殊用途文件
6.5.1 /dev目录应用
6.5.2 /proc目录应用
第7章 shell函数
7.1 shell函数定义
7.2 shell函数调用
7.2.1 在脚本中调用
7.2.2 调用脚本文件
7.3 函数参数传递
7.4 函数返回与退出
7.5 函数输入重定向
7.6 函数实例
7.6.1 函数中的echo问题
7.6.2 函数的变量问题
7.6.3 存在性测试
7.6.4 其他类型问题
第8章 shell数组
8.1 shell数组初始化
8.1.1 一维数组
8.1.2 二维数组
8.1.3 空数组
8.2 数组基本应用
8.2.1 数组元素
8.2.2 数组复制
8.2.3 内嵌数组
8.2.4 数组与字符串
8.3 数组的应用
8.3.1 数组的复制与连接
8.3.2 数组的其他应用
第9章 字符和字符串
9.1 字符的类型
9.1.1 通配符
9.1.2 转义字符
9.1.3 控制字符
9.1.4 字符集
9.2 字符串的应用
9.2.1 字符串测试
9.2.2 字符串选取
9.2.3 计算字符串长度
9.2.4 插入新字符串
9.3 特殊字符
9.3.1 特殊字符符号
9.3.2 特殊代码块
9.3.3 代码块与I/O重定向
第10章 正则表达式
10.1 正则表达式概述
10.1.1 正则表达式的起源
10.1.2 正则表达式解决的问题
10.1.3 元字符及其特征
10.2 正则表达式的特征
10.2.1 注意事项和处理方式
10.2.2 字符集与字符编码
10.2.3 正则表达式字符串
10.2.4 正则表达式匹配模式
10.3 优先匹配规则
10.3.1 位置优先匹配
10.3.2 标准量词优先匹配
10.4 正则表达式基本应用
10.4.1 grep命令系列
10.4.2 awk命令应用
10.4.3 sed命令应用
第11章 输入与输出
11.1 基本输入/输出
11.1.1 cat命令输入/输出
11.1.2 read命令应用
11.1.3 echo输入/输出
11.1.4 管道
11.1.5 tee分流输出
11.2 文件重定向
11.2.1 重定向的概念
11.2.2 重定向的基本应用
11.3 标准重定向的类型
11.3.1 标准输入
11.3.2 标准输出
11.3.3 标准错误
11.3.4 标准重定向
11.4 exec重定向
第12章 数据备份
12.1 数据备份概述
12.1.1 备份必要性
12.1.2 备份的分类
12.1.3 备份的方式
12.2 文件备份管理
12.2.1 文件归档管理
12.2.2 文件压缩与解压缩
12.2.3 备份操作综合应用
12.3 硬盘备份
12.3.1 系统硬盘的使用
12.3.2 新添硬盘的使用
第13章 网络应用编程
13.1 Linux系统网络
13.1.1 网络常用硬件设备
13.1.2 网络模型框架结构
13.1.3 网络配置文件
13.2 IP地址配置
13.2.1 查看系统IP地址
13.2.2 设置系统IP地址
13.2.3 IP地址测试
13.3 网络应用
13.3.1 搜索已启动网卡参数
13.3.2 网络连接状态测试
13.3.3 伪设备文件的应用
13.3.4 查找垃圾邮件发送者
第14章 shell高级应用
14.1 子shell概念及应用
14.1.1 子shell简介
14.1.2 子shell应用
14.2 受限shell
14.3 脚本调试问题
14.3.1 常见脚本错误
14.3.2 脚本调试的问题
14.4 系统应用管理
14.4.1 用户及口令管理
14.4.2 系统进程管理
14.4.3 系统硬盘应用管理
14.5 脚本递归调用
14.6 脚本优化问题
第15章 构造视图窗口
15.1 视图窗口制造工具
15.2 构造dialog图形界面
15.2.1 窗口选项构造
15.2.2 构造选项按钮框
15.2.3 dialog高级应用
15.3 构造Xdialog视图窗口
15.3.1 信息提示与编辑窗口
15.3.2 构造数值校正框
15.3.3 构造输入对话框
15.3.4 构造下拉列表框
15.3.5 Xdialog高级应用
附录
附录A 文件类代码
附录B 变量与字符串
附录C 特殊字符
附录D 算术与参数
附录E 其他类型符号
前言
第1章 Linux shell概述
1.1 Linux shell概念
1.1.1 Linux shell的作用
1.1.2 使用shell的原因
1.1.3 shell模式类别
1.2 shell工作原理
1.3 Linux shell类型简述
1.3.1 常见的shell
1.3.2 各种shell的切换
1.4 shell环境平台构造
1.5 shell脚本包装
1.5.1 用awk包装shell脚本
1.5.2 用sed包装shell脚本
第2章 编辑器及脚本设计
2.1 Linux编辑器
2.1.1 使用编辑器的益处
2.1.2 主要的Linux编辑器
2.2 Emacs编辑器
2.2.1 在文本模式中使用
2.2.2 在图形系统下使用
2.2.3 Emacs编辑器操作命令
2.3 vi编辑器
2.3.1 vi与vim编辑器
2.3.2 vi工作模式
2.3.3 常用的操作命令
2.3.4 vi编辑器应用操作
2.4 shell脚本程序
2.4.1 脚本编写和执行
2.4.2 shell脚本追踪
第3章 shell变量
3.1 shell变量概述
3.2 shell变量的类型
3.2.1 shell局部变量
3.2.2 shell环境变量
3.2.3 shell特殊变量
3.3 系统内置变量
3.4 shell变量的设置
3.5 shell变量应用
3.5.1 shell变量赋值
3.5.2 变量引用与转义
第4章 算术运算
4.1 算术运算的概念
4.2 数值相加
4.3 数值相减
4.4 数值乘除
4.5 数值大小比较
4.6 高级应用
4.6.1 移位运算操作
4.6.2 逻辑运算操作
4.6.3 进制转换操作
第5章 程序流程控制
5.1 循环语句类别
5.1.1 for循环语句
5.1.2 while循环语句
5.1.3 until循环语句
5.2 选择与分支结构
5.2.1 if语句结构
5.2.2 case语句结构
5.2.3 select语句结构
5.3 循环控制语句
5.3.1 break控制语句
5.3.2 continue控制语句
5.4 嵌套循环语句
第6章 文件编辑
6.1 系统的文件类型
6.1.1 普通文件
6.1.2 目录文件
6.1.3 链接文件
6.1.4 特殊文件
6.2 文件存在性测试
6.2.1 内置式测试方式
6.2.2 交互式测试方式
6.3 文件应用操作
6.3.1 创建文本文件
6.3.2 文件备份
6.3.3 文件重命名与删除
6.3.4 文件完整性检查
6.4 编辑文本内容
6.4.1 查阅文本内容
6.4.2 文本内容比较
6.4.3 文本内容重定向
6.5 特殊用途文件
6.5.1 /dev目录应用
6.5.2 /proc目录应用
第7章 shell函数
7.1 shell函数定义
7.2 shell函数调用
7.2.1 在脚本中调用
7.2.2 调用脚本文件
7.3 函数参数传递
7.4 函数返回与退出
7.5 函数输入重定向
7.6 函数实例
7.6.1 函数中的echo问题
7.6.2 函数的变量问题
7.6.3 存在性测试
7.6.4 其他类型问题
第8章 shell数组
8.1 shell数组初始化
8.1.1 一维数组
8.1.2 二维数组
8.1.3 空数组
8.2 数组基本应用
8.2.1 数组元素
8.2.2 数组复制
8.2.3 内嵌数组
8.2.4 数组与字符串
8.3 数组的应用
8.3.1 数组的复制与连接
8.3.2 数组的其他应用
第9章 字符和字符串
9.1 字符的类型
9.1.1 通配符
9.1.2 转义字符
9.1.3 控制字符
9.1.4 字符集
9.2 字符串的应用
9.2.1 字符串测试
9.2.2 字符串选取
9.2.3 计算字符串长度
9.2.4 插入新字符串
9.3 特殊字符
9.3.1 特殊字符符号
9.3.2 特殊代码块
9.3.3 代码块与I/O重定向
第10章 正则表达式
10.1 正则表达式概述
10.1.1 正则表达式的起源
10.1.2 正则表达式解决的问题
10.1.3 元字符及其特征
10.2 正则表达式的特征
10.2.1 注意事项和处理方式
10.2.2 字符集与字符编码
10.2.3 正则表达式字符串
10.2.4 正则表达式匹配模式
10.3 优先匹配规则
10.3.1 位置优先匹配
10.3.2 标准量词优先匹配
10.4 正则表达式基本应用
10.4.1 grep命令系列
10.4.2 awk命令应用
10.4.3 sed命令应用
第11章 输入与输出
11.1 基本输入/输出
11.1.1 cat命令输入/输出
11.1.2 read命令应用
11.1.3 echo输入/输出
11.1.4 管道
11.1.5 tee分流输出
11.2 文件重定向
11.2.1 重定向的概念
11.2.2 重定向的基本应用
11.3 标准重定向的类型
11.3.1 标准输入
11.3.2 标准输出
11.3.3 标准错误
11.3.4 标准重定向
11.4 exec重定向
第12章 数据备份
12.1 数据备份概述
12.1.1 备份必要性
12.1.2 备份的分类
12.1.3 备份的方式
12.2 文件备份管理
12.2.1 文件归档管理
12.2.2 文件压缩与解压缩
12.2.3 备份操作综合应用
12.3 硬盘备份
12.3.1 系统硬盘的使用
12.3.2 新添硬盘的使用
第13章 网络应用编程
13.1 Linux系统网络
13.1.1 网络常用硬件设备
13.1.2 网络模型框架结构
13.1.3 网络配置文件
13.2 IP地址配置
13.2.1 查看系统IP地址
13.2.2 设置系统IP地址
13.2.3 IP地址测试
13.3 网络应用
13.3.1 搜索已启动网卡参数
13.3.2 网络连接状态测试
13.3.3 伪设备文件的应用
13.3.4 查找垃圾邮件发送者
第14章 shell高级应用
14.1 子shell概念及应用
14.1.1 子shell简介
14.1.2 子shell应用
14.2 受限shell
14.3 脚本调试问题
14.3.1 常见脚本错误
14.3.2 脚本调试的问题
14.4 系统应用管理
14.4.1 用户及口令管理
14.4.2 系统进程管理
14.4.3 系统硬盘应用管理
14.5 脚本递归调用
14.6 脚本优化问题
第15章 构造视图窗口
15.1 视图窗口制造工具
15.2 构造dialog图形界面
15.2.1 窗口选项构造
15.2.2 构造选项按钮框
15.2.3 dialog高级应用
15.3 构造Xdialog视图窗口
15.3.1 信息提示与编辑窗口
15.3.2 构造数值校正框
15.3.3 构造输入对话框
15.3.4 构造下拉列表框
15.3.5 Xdialog高级应用
附录
附录A 文件类代码
附录B 变量与字符串
附录C 特殊字符
附录D 算术与参数
附录E 其他类型符号
前 言
Linux广泛用于搭建服务器,这主要得益于其shell的强大功能。在配置管理Linux系统及服务器时,输入的指令都被传递到shell中执行,而通过shell的使用,用户就可以启动、挂起、停止进程,编写脚本程序及执行定时任务等。
所谓shell,是一种用C语言编写、介于系统用户层与核心程序间的具备特殊功能的程序接口。更确切地说,shell是一个命令行解释器,它对一些遵循语法输入的命令加以解释并传送到系统的核心中执行,再将执行结果返回。
用户为何要使用shell而不是与操作系统核心直接交互呢?其实,系统核心是系统资源的管理者与分配者,在用户需要计算机资源并向系统核心提出请求后,就等待系统分配资源。然而,从系统的角度来看,必须防止用户的操作错误对系统造成的伤害,因此要避免与用户直接交互。而且用户命令需要转为二进制代码才能用来操作计算机的硬件。通过shell能够很好解决以上问题。另外,虽然Linux系统已经具有比较强大的图形界面,但在很多情况下还需要使用文本界面,这就离不开shell脚本编程。shell互动地解释和执行用户输入的命令,定义各种变量和参数,还提供了许多只有在高级语言中才有的控制结构。而且通过shell脚本编程能够更加合理地安排和执行一些耗资源和耗时间的任务。可见shell脚本编程的重要。
目前,市场上已有不少Linux书籍,但大多以介绍shell命令的简单应用为主,很少深入讲解脚本编程。为了帮助读者系统地学习shell脚本编程,作者编写了此书。由于作者水平有限,书中难免有错漏之处,若读者在阅读过程中遇到疑问或有任何建议和意见,欢迎指正。
所谓shell,是一种用C语言编写、介于系统用户层与核心程序间的具备特殊功能的程序接口。更确切地说,shell是一个命令行解释器,它对一些遵循语法输入的命令加以解释并传送到系统的核心中执行,再将执行结果返回。
用户为何要使用shell而不是与操作系统核心直接交互呢?其实,系统核心是系统资源的管理者与分配者,在用户需要计算机资源并向系统核心提出请求后,就等待系统分配资源。然而,从系统的角度来看,必须防止用户的操作错误对系统造成的伤害,因此要避免与用户直接交互。而且用户命令需要转为二进制代码才能用来操作计算机的硬件。通过shell能够很好解决以上问题。另外,虽然Linux系统已经具有比较强大的图形界面,但在很多情况下还需要使用文本界面,这就离不开shell脚本编程。shell互动地解释和执行用户输入的命令,定义各种变量和参数,还提供了许多只有在高级语言中才有的控制结构。而且通过shell脚本编程能够更加合理地安排和执行一些耗资源和耗时间的任务。可见shell脚本编程的重要。
目前,市场上已有不少Linux书籍,但大多以介绍shell命令的简单应用为主,很少深入讲解脚本编程。为了帮助读者系统地学习shell脚本编程,作者编写了此书。由于作者水平有限,书中难免有错漏之处,若读者在阅读过程中遇到疑问或有任何建议和意见,欢迎指正。
评论
还没有评论。