内容简介
Chapter 1 Shell简介
1.1 Shell是什么
1.2 Shell的历史简介
1.3 Bash Shell的功能
1.4 第一个Bash Shell程序:“哈啰!Bash Shell!”
1.5 第一个有用的Bash Shell
Chapter 2 布置Bash Shell的环境
2.1 在Linux平台布署Bash Shell的环境
2.2 升级B2D的Bash版本
2.3 自行编译最新版的Bash
2.4 切换使用新版的Bash Shell
chsh的用法
2.5 在FreeBSD平台布署Bash Shell的环境
2.6 在OpenBSD平台布署Bash Shell的环境
2.7 在Windows平台布署Bash Shell的环境
Chapter 3 基础概念介绍
3.1 登录、注销
登录主机
注销主机、结束终端程序
3.2 文件、目录
文件
目录
3.3 通配符与转义字符
通配符
转义字符
3.4 字符集合
3.5 括号扩展
3.6 系统默认开启的文件
3.7 标准输入/输出转向
转向输出
转向附加
转向输入
转向输入和转向输出合用
利用转向输出做简易编辑
3.8 管道
3.9 前台工作、后台工作
Chapter 4 Bash Shell程序的结构
4.1 Shell程序的组成
4.2 设定执行权限
4.3 执行Bash Script的方法
4.4 Bash Script排错的方法
4.5 Bash Script执行的原理
login Shell
4.6 Bash Shell的启动配置文件
Bash不同的运行模式
Chapter 5 基本操作介绍
5.1 内置命令
5.2 命令行程序
5.3 执行多个命令的方法
5.4 记录命令的执行过程
5.5 命令行编辑的方法
5.6 Bash分析命令行的方式
Chapter 6 变量与字符串操作
6.1 变量是什么
6.2 变量的命名
6.3 设定变量
6.4 取得变量值
6.5 取消与清空变量
6.6 变量和引号
6.7 变量的有效范围
6.8 环境变量
输出变量
取消环境变量值
6.9 Bash的内置变量
6.10 调整变量的属性
只读变量:使用readonly命令
只读变量:使用declare命令
调整变量的属性
6.11 别名
建立别名
替换别名
取消别名
6.12 自定义环境
以一般账号的角色工作时
以系统管理员的角色工作时
6.13 数组
数组的用法
取出数组所有的元素
取得数组元素的个数
取消数组或数组元素
6.14 Here Document
用Here Document设定变量
控制Here Document的格式
利用Here Document做多行批注
利用Here Document,打包C(或其他程序语言)的原始码
Chapter 7 高级变量
7.1 变量扩展:测试存在性及空值
“变量存在”的定义
测试变量“存在与否”的基本用法
测试变量“不存在”或其值为空:“传回”一个默认值
测试变量“不存在”或其值为空:给变量设一个默认值
测试变量是否“不存在”或其值为空:提示错误信息
测试变量的“存在性”
7.2 变量扩展:取字符串切片、字符串长度
取字符串切片
计算字符串长度
7.3 变量扩展:对比样式
由字符串前面对比,删除相符者
由字符串后面对比,删除相符者
取代或删除部分字符串
把对比符合的字符串删除
要求样式在句首或句尾
7.4 变量扩展:取变量名称列表、数组索引列表
取变量名称列表
取数组索引列表
7.5 命令替换
7.6 算术扩展
Chapter 8 算术运算
8.1 简介
8.2 算术扩展
8.3 使用外部程序expr做算术运算
8.4 使用$[]做算术运算
8.5 使用内置命令declare、let做算术运算
declare的用法
let的用法
Chapter 9 流程控制
9.1 命令的结束状态
9.2 if条件判断
简易的if语法:if-then-else
if的完整语法
9.3 条件测试的写法
9.4 条件判断式的真假值
关于文件属性的判断式
关于字符串的条件判断式
关于算式的条件判断式
关于Bash选项的条件判断式
9.5 case条件判断
case的语法
高级样式
9.6 for循环
for的语法
for无穷循环
9.7 while循环
while的语法
使用while循环,读取文件内容
while无穷循环
9.8 until循环
until的语法
until无穷循环
9.9 select命令
9.10 break和continue
break命令
continue命令
9.11 综合运用
Chapter 10 函数
10.1 函数的用法
函数的语法
函数的结束状态
10.2 函数与变量的作用范围
函数的作用范围
变量的作用范围
10.3 位置参数
传递参数
命令行的位置参数
移动位置参数
指定位置参数值
取用命令行的选项和参数
10.4 建立函数库
10.5 递归函数
10.6 实例应用
Chapter 11 转向
11.1 文件代码
11.2 操作文件
开启文件
关闭文件
复制文件代码,建立文件连接
11 .3 转向的用法
转向输入
转向输出
转向附加
标准错误伴随标准输出做转向
Here Document转向
Chapter 12 trap——陷阱触发
12.1 信号(signal)
进程编号PID
信号列表
传送信号的方法
常用的信号
12.2 trap的运用
trap的语法1
trap的语法2
trap的语法3
trap的语法4
Chapter 13 sed和awk入门
13.1 正则表达式
何谓正则表达式
13.2 sed的用法
实例应用
13.3 awk的用法
实例应用
Chapter 14 进程管理和工作控制
14.1 进程管理
ps命令
top命令
htop命令
传送信号
调整进程的优先级
nice命令
renice命令
PRI和NI
14.2 工作控制
以实例说明工作控制
常用的工作控制命令
14.3 进程替换
Chapter 15 历史指令
15.1 历史指令的功能
history命令
fc命令
15.2 历史指令扩展
Chapter 16 使用Shell Script撰写文字和图形接口程序16.1 使用dialog撰写文本接口程序
是或否对话框(yesno)
多选一对话框(radiolist)
选单对话框(menu)
单行输入对话框(inputbox)
输入密码对话框(passwordbox)
显示进度对话框(gauge)
核查列表对话框(checklist)
文件对话框(textbox)
信息对话框(infobox)
调整时间对话框(timebox)
倒数计时对话框(pause)
选择文本区对话框(fselect)
16.2 使用xdialog撰写图形接口程序
显示信息(msgbox)
多选一对话框(radiolist)
单行输入对话框(inputbox)
双行输入对话框(2inputsbox)
三行输入对话框(3inputsbox)
下拉列表对话框(combobox)
重设大小范围的对话框(rangebox)
两个滚动条的对话框
3个滚动条的对话框
spinbox对话框
编辑对话框(editbox)
Chapter 17 文件操作
17.1 取得目录内容:文件列表
利用ls取得目录内容
17.2 判断文件是否存在
17.3 建立文件
建立一般文件
建立目录
建立区块设备文件
建立字符设备文件
建立FIFO文件
建立Socket文件
建立符号链接文件
17.4 取得文件的属性
17.5 对比文件的差异
diff的其他用法
17.6 搜寻文件内容
17.7 建立临时文件
17.8 复制文件
17.9 大、小写文件名互换
17.10 转换编码
转换编码的工具
大量转换编码
Chapter 18 主机系统管理
18.1 账号管理
18.2 DNS自动产生器
18.3 DHCP自动产生器
18.4 检测主机存在
Chapter 19 Bash在TCP/IP方面的运用
19.1 Bash网络转向
wget.sh程序说明
Echo服务器
19.2 自动登录FTP
19.3 自动登录SSH
Chapter 20 主机安全管理
20.1 收集主机信息
列出主机IP
找出主机名
列出核心信息
列出内存使用情况
列出磁盘种类
列出磁盘容量
列出磁盘用量
列出主机系统平均负载
列出系统中的隐藏文件/有特殊权限的文件
列出占用磁盘空间较多的目录
20.2 主机服务信道
基本概念
通信状态
管理主机服务信道
20.3 限制连接来源
使用TCP Wrapper
自动建立hosts.allow和hosts.deny
20.4 限制连接来源:使用iptables
关于Netfilter
关于iptables
iptables的语法
iptables的用例
自动建立iptables配置文件
20.5 文件完整性审核
关于checksum
使用md5sum
使用shalsum
使用Shell自制文件完整性的审核工具
20.6 邮件通知
邮件方法
监测分区磁盘空间使用量
安排邮件内容的格式
使用Bash Shell邮件和附件
二进制文件编码/译码的方法
邮寄附件
Chapter 21 备份
21.1 使用tar做备份
基本用法
使用tar做完整备份
完整备份和差异性备份
使用tar进行差异性备份
还原备份文件的方法
21.2 使用磁带备份
操作磁带的方法
建立常用函数
21.3 使用cpio做备份
关于cpio
基本操作法
使用cpio备份到磁带
使用cpio备份到远程的主机
21.4 使用dump/restore做备份/恢复
关于dump和restore
/etc/fstab和dump的关系
dump和文件属性
dump的基本操作
备份至磁带
21.5 使用cp、dd做备份
使用cp
使用dd
21.6 使用光盘做备份
21.7 使用rsync做备份
关于rsync
设定rsync server
设定rsync client
安全性
rsync设定产生器