
| 架构、流程、管理 系统维护 备份还原 安全管理 主机管理的上乘之道,就在于尽量让电脑去完成所有的琐事。要达到这个境界,管理者必须具备相当程度的Shell操控能力与Shell程序设计能力,卧龙小三拥有丰富的主机管理实务经验,以及多年的教学经验,相信这本《实战Linux Shell编程与服务器管理》必能引领读者轻松跨越Bash Shell程序设计的门槛,摆脱菜鸟劳碌的命运,达到轻松管理,主机不出包的境界。 《实战Linux Shell编程与服务器管理》特点: 完整涵盖Bash 3.x的各项功能,并介绍最新Bash 4.0的重要功能。 由简入繁、循序渐进,建立扎实的Bash Shell程序设计基础。 各章提供许多范例,充分展示Bash Shell程序设计的技巧。 带领读者学习如何设计自动化程序,轻松解决问题,增进工作效率。 还包含许多管理实务的技巧,可快速提升读者主机管理的能力。 |
| 操作系统Shell编程一直是系统管理员必备高级技能之一。主机管理的上乘之道,就在于尽量让计算机去完成所有的琐事。要达到这个境界,管理者必须具备相当程度的Shell操控能力与Shell程序设计能力,笔者拥有丰富的主机管理实务经验,以及多年的教学经验,能引领读者轻松跨越Bash Shell程序设计的门槛,摆脱菜鸟劳碌的命运,达到轻松管理,主机不出包的境界。 本书完整涵盖Bash 3.x的各项功能,并介绍最新Bash 4.0的重要功能;由简入繁、循序渐进,建立扎实的Bash Shell程序设计基础;各章提供许多范例,充分展示Bash Shell程序设计的技巧;带领读者学习如何设计自动化程序,轻松解决问题,增进工作效率;还包含许多管理实务的技巧,可快速提升读者主机管理的能力。 本书适合系统管理员、网络管理员、架构师及普通学习者参考学习。 主机管理的上乘之道,就在于尽量让电脑去完成所有的琐事。要达到这个境界,管理者必须具备相当程度的Shell操控能力与Shell程序设计能力,卧龙小三拥有丰富的主机管理实务经验,以及多年的教学经验,相信这本《实战Linux Shell编程与服务器管理》必能引领读者轻松跨越Bash Shell程序设计的门槛,摆脱菜鸟劳碌的命运,达到轻松管理,主机不出包的境界。 ■ 完整涵盖Bash 3.x的各项功能,并介绍最新Bash 4.0的重要功能。 ■ 由简入繁、循序渐进,建立扎实的Bash Shell程序设计基础。 ■ 各章提供许多范例,充分展示Bash Shell程序设计的技巧。 ■ 带领读者学习如何设计自动化程序,轻松解决问题,增进工作效率。 ■ 还包含许多管理实务的技巧,可快速提升读者主机管理的能力。 |
| Chapter 1 Shell简介 1.1 Shell是什么 2 1.2 Shell的历史简介 4 1.3 Bash Shell的功能 5 1.4 第一个Bash Shell程序:“哈啰!Bash Shell!” 6 1.5 第一个有用的Bash Shell 7 Chapter 2 布署Bash Shell的环境 2.1 在Linux平台布署Bash Shell的环境 10 2.2 升级B2D的Bash版本 10 2.3 自行编译最新版的Bash 11 2.4 切换使用新版的Bash Shell 13 chsh的用法 13 2.5 在FreeBSD平台布署Bash Shell的环境 15 2.6 在OpenBSD平台布署Bash Shell的环境 16 2.7 在Windows平台布署Bash Shell的环境 18 Chapter 3 基础概念介绍 3.1 登录、注销 22 登录主机 22 注销主机、结束终端程序 23 3.2 文件、目录 23 文件 23 目录 26 3.3 通配符与转义字符 30 通配符 30 转义字符 31 3.4 字符集合 33 3.5 括号扩展 34 3.6 系统默认开启的文件 35 3.7 标准输入/输出转向 35 转向输出 36 转向附加 36 转向输入 37 转向输入和转向输出合用 37 利用转向输出做简易编辑 38 3.8 管道 38 3.9 前台工作、后台工作 40 Chapter 4 Bash Shell程序的结构 4.1 Shell程序的组成 42 4.2 设定执行权限 44 4.3 执行Bash Script的方法 44 4.4 Bash Script排错的方法 45 4.5 Bash Script执行的原理 47 login Shell 47 4.6 Bash Shell的启动配置文件 50 Bash不同的运行模式 50 Chapter 5 基本操作介绍 5.1 内置命令 56 5.2 命令行程序 71 5.3 执行多个命令的方法 88 5.4 记录命令的执行过程 90 5.5 命令行编辑的方法 91 5.6 Bash分析命令行的方式 98 Chapter 6 变量与字符串操作 6.1 变量是什么 102 6.2 变量的命名 103 6.3 设定变量 104 6.4 取得变量值 105 6.5 取消与清空变量 109 6.6 变量和引号 110 6.7 变量的有效范围 112 6.8 环境变量 113 输出变量 113 取消环境变量值 115 6.9 Bash的内置变量 115 6.10 调整变量的属性 125 只读变量:使用readonly命令 125 只读变量:使用declare命令 126 调整变量的属性 127 6.11 别名 128 建立别名 128 替换别名 129 取消别名 130 6.12 自定义环境 130 以一般账号的角色工作时 130 以系统管理员的角色工作时 133 6.13 数组 133 数组的用法 134 取出数组所有的元素 135 取得数组元素的个数 135 取消数组或数组元素 136 6.14 Here Document 136 用Here Document设定变量 136 控制Here Document的格式 138 利用Here Document做多行批注 139 利用Here Document,打包C(或其他程序语言)的原始码 140 Chapter 7 高级变量 7.1 变量扩展:测试存在性及空值 144 “变量存在”的定义 144 测试变量“存在与否”的基本用法 145 测试变量“不存在”或其值为空:“传回”一个默认值 146 测试变量“不存在”或其值为空:给变量设一个默认值 148 测试变量是否“不存在”或其值为空:提示错误信息 149 测试变量的“存在性” 151 7.2 变量扩展:取字符串切片、字符串长度 152 取字符串切片 152 计算字符串长度 155 7.3 变量扩展:对比样式 156 由字符串前面对比,删除相符者 156 由字符串后面对比,删除相符者 158 取代或删除部分字符串 159 把对比符合的字符串删除 160 要求样式在句首或句尾 160 7.4 变量扩展:取变量名称列表、数组索引列表 162 取变量名称列表 162 取数组索引列表 162 7.5 命令替换 163 7.6 算术扩展 165 Chapter 8 算术运算 8.1 简介 168 8.2 算术扩展 169 8.3 使用外部程序expr做算术运算 174 8.4 使用$[]做算术运算 177 8.5 使用内置命令declare、let做算术运算 178 declare的用法 178 let的用法 179 Chapter 9 流程控制 9.1 命令的结束状态 182 9.2 if条件判断 183 简易的if语法:if-then-else 183 if的完整语法 184 9.3 条件测试的写法 187 9.4 条件判断式的真假值 195 关于文件属性的判断式 195 关于字符串的条件判断式 197 关于算式的条件判断式 199 关于Bash选项的条件判断式 200 9.5 case条件判断 200 case的语法 200 高级样式 202 9.6 for循环 204 for的语法 204 for无穷循环 207 9.7 while循环 207 while的语法 207 使用while循环,读取文件内容 209 while无穷循环 210 9.8 until循环 211 until的语法 211 until无穷循环 212 9.9 select命令 212 9.10 break和continue 214 break命令 214 continue命令 216 9.11 综合运用 216 Chapter 10 函数 10.1 函数的用法 220 函数的语法 220 函数的结束状态 222 10.2 函数与变量的作用范围 224 函数的作用范围 224 变量的作用范围 225 10.3 位置参数 226 传递参数 226 命令行的位置参数 229 移动位置参数 229 指定位置参数值 230 取用命令行的选项和参数 233 10.4 建立函数库 235 10.5 递归函数 237 10.6 实例应用 238 Chapter 11 转向 11.1 文件代码 244 11.2 操作文件 244 开启文件 244 关闭文件 245 复制文件代码,建立文件连接 245 11.3 转向的用法 247 转向输入 247 转向输出 248 转向附加 250 标准错误伴随标准输出做转向 250 Here Document转向 251 Chapter 12 trap——陷阱触发 12.1 信号(signal) 254 进程编号PID 254 信号列表 255 传送信号的方法 256 常用的信号 257 12.2 trap的运用 260 trap的语法1 260 trap的语法2 261 trap的语法3 261 trap的语法4 262 Chapter 13 sed和awk入门 13.1 正则表达式 264 何谓正则表达式 264 13.2 sed的用法 266 实例应用 268 13.3 awk的用法 271 实例应用 272 Chapter 14 进程管理和工作控制 14.1 进程管理 276 ps命令 276 top命令 281 htop命令 283 传送信号 284 调整进程的优先级 284 nice命令 285 renice命令 286 PRI和NI 287 14.2 工作控制 287 以实例说明工作控制 287 常用的工作控制命令 290 14.3 进程替换 292 Chapter 15 历史指令 15.1 历史指令的功能 296 history命令 297 fc命令 298 15.2 历史指令扩展 298 Chapter 16 使用Shell Script撰写文字和图形接口程序 16.1 使用dialog撰写文本接口程序 306 是或否对话框(yesno) 309 多选一对话框(radiolist) 310 选单对话框(menu) 312 单行输入对话框(inputbox) 314 输入密码对话框(passwordbox) 315 显示进度对话框(gauge) 317 核查列表对话框(checklist) 320 文件对话框(textbox) 321 信息对话框(infobox) 321 调整时间对话框(timebox) 322 倒数计时对话框(pause) 322 选择文本区对话框(fselect) 322 16.2 使用xdialog撰写图形接口程序 323 显示信息(msgbox) 323 多选一对话框(radiolist) 324 单行输入对话框(inputbox) 325 双行输入对话框(2inputsbox) 326 三行输入对话框(3inputsbox) 328 下拉列表对话框(combobox) 329 重设大小范围的对话框(rangebox) 329 两个滚动条的对话框 330 3个滚动条的对话框 330 spinbox对话框 331 编辑对话框(editbox) 331 Chapter 17 文件操作 17.1 取得目录内容:文件列表 334 利用ls取得目录内容 334 17.2 判断文件是否存在 336 17.3 建立文件 338 建立一般文件 338 建立目录 340 建立区块设备文件 341 建立字符设备文件 343 建立FIFO文件 343 建立Socket文件 345 建立符号链接文件 345 17.4 取得文件的属性 346 17.5 对比文件的差异 352 diff的其他用法 355 17.6 搜寻文件内容 358 17.7 建立临时文件 361 17.8 复制文件 363 17.9 大、小写文件名互换 366 17.10 转换编码 371 转换编码的工具 372 大量转换编码 373 Chapter 18 主机系统管理 18.1 账号管理 376 18.2 DNS自动产生器 389 18.3 DHCP自动产生器 402 18.4 检测主机存在 407 Chapter 19 Bash在TCP/IP方面的运用 19.1 Bash网络转向 416 wget.sh程序说明 418 Echo服务器 419 19.2 自动登录FTP 421 19.3 自动登录SSH 424 Chapter 20 主机安全管理 20.1 收集主机信息 428 列出主机IP 428 找出主机名 428 列出核心信息 430 列出内存使用情况 430 列出磁盘种类 432 列出磁盘容量 433 列出磁盘用量 435 列出主机系统平均负载 437 列出系统中的隐藏文件/有特殊权限的文件 438 列出占用磁盘空间较多的目录 440 20.2 主机服务信道 441 基本概念 441 通信状态 443 管理主机服务信道 444 20.3 限制连接来源 446 使用TCP Wrapper 446 自动建立hosts.allow和hosts.deny 449 20.4 限制连接来源:使用iptables 452 关于Netfilter 452 关于iptables 452 iptables的语法 453 iptables的用例 454 自动建立iptables配置文件 455 20.5 文件完整性审核 465 关于checksum 465 使用md5sum 466 使用sha1sum 466 使用Shell自制文件完整性的审核工具 467 20.6 邮件通知 470 邮件方法 470 监测分区磁盘空间使用量 471 安排邮件内容的格式 475 使用Bash Shell邮件和附件 478 二进制文件编码/译码的方法 479 邮寄附件 480 Chapter 21 备份 21.1 使用tar做备份 488 基本用法 489 使用tar做完整备份 492 完整备份和差异性备份 493 使用tar进行差异性备份 494 还原备份文件的方法 494 21.2 使用磁带备份 495 操作磁带的方法 495 建立常用函数 501 21.3 使用cpio做备份 502 关于cpio 502 基本操作法 503 使用cpio备份到磁带 504 使用cpio备份到远程的主机 504 21.4 使用dump/restore做备份/恢复 505 关于dump和restore 505 /etc/fstab和dump的关系 505 dump和文件属性 505 dump的基本操作 506 备份至磁带 509 21.5 使用cp、dd做备份 509 使用cp 509 使用dd 510 21.6 使用光盘做备份 513 21.7 使用rsync做备份 514 关于rsync 514 设定rsync server 515 设定rsync client 517 安全性 519 rsync设定产生器 520 附录 Bash 4新功能 |
商品评论(0条)