当前位置:首页 > 计算机网络 > 操作系统/系统开发 > 精通Unix Shell脚本编程
出版社:清华大学出版社
出版日期:2010-3
ISBN:9787302218951
作者:米歇尔
页数:877页
前言
在UNIX系统里,解决同一个问题往往有许多不同的方法。假定有一个问题,可以用许多不同的方法来解决。当然,有些技术将更加有效,因为使用了更少的系统资源,并且根据程序运行情况可以给用户反馈,或者给出更加详细和精确的结果。本书将通过生成shell脚本逐步解决现实世界中的UNIX问题和任务。shell脚本范围从使用一个伪随机数字产生器产生登录密码到使用rsync复制数据处理记录文件。解决问题的方法是宽泛且详细的。写一个好的shell脚本需要注意的细节包括对每一步的注释,以方便日后引用参考。其他细节包括:在需要时将许多合成命令组成一个单一的命令语句;为便于阅读将命令分成几行代码,或者减少理解性的概念;使一个脚本可读性好并在整个运行周期内容易维护。我们将看到用变量和文件储存数据的益处,用方法从命令行输出中剔除不需要的数据,为特定目的格式化数据等内容。另外,我们还将告诉读者怎样在shell脚本里编写和使用函数,以及这较没有函数的shell脚本的优越之处等。 本书面向所有的UNIX版本,重点覆盖对象包括AIX、HP-UX、Linux、OpenBSD和Solaris操作系统。本书配套的Web网站(www.wiley.com/go/michael2e)里包含书中的几乎每一个脚本。根据不同的UNIX版本需要,我们对许多shell脚本进行了重写。其他的shell脚本是平台无关的。这些脚本的重写是必要的,因为不同UNIX版本的命令语法和输出有时不尽相同。这种差异有时和从不同列中提取数据,或者使用一个不同的命令转换就可以得到相同的结果一样是很小的,也可能是将几个命令放在一起在不同的UNIX版本上实现同样的任务并得到类似的输出或结果这样比较大的。 本书的每一章都以用一个基本的概念实现一个任务作为开始,然后引出一些非常复杂和难懂的概念。一个shell脚本的主要目的是能够自动完成重复和复杂的任务,这可以减少按键错误,并且可以定时执行shell脚本。让系统告诉我们问题所在总比费时查找问题好。本书可以帮助我们主动有效地与系统打交道。在每一部分读者都将会获得更多的知识,使读者容易理解更复杂的思想。读者将会看到不同的解决现实任务实例的方法。本书不仅提供解决一个问题的方法,同时讨论不同方法解决同一个问题各自的优缺点。我们的目标是自信灵活地解决遇到的问题。给定一个任务,能用许多种方法加以解决,当学习完本书时,就会感到问题的解决方法是直接而易见的。 本书概要和技术 本书意欲作为学习工具和研究向导,旨在告诉读者怎样一开始就目标清晰地编写shell脚本来解决各种问题。本书大部分shell脚本技术都将7次涉及。每次都从不同角度触及主题,解决不同的问题。我发现这个技巧对于掌握材料是非常有好处的。 每一章的结尾都有练习,让读者编写一个新的脚本,或修改该章中出现的shell脚本。本书不是一本描述解决方案而是描述解决方案怎样实现的书籍。我力劝读者完整地学习完本书,你会受益匪浅。本书涵盖的shell脚本包括Bash、Bourne,但不包括Korn.C shell脚本。更高级的主题包括使用rsync复制数据,利用Dirvish生成快速备份,用记录文件解析数据等。
内容概要
米歇尔(Randal K.MiChael)是UNIX系统管理工作组的高级顾问。他讲授UNI义shell脚本,在企业设置方面编写了大量的shell脚本以解决从系统监控到复制大型数据库等问题和任务。另外,他在该行业有30余年的工作经验,其中15年的时间一直担任UNIX系统管理员,主要解决与AlX、HP-UX、Linux、OpenBSD和Solaris相关的实际问题。
书籍目录
第1部分 shell脚本基础 第1章 脚本编程快速入门和概述 1.1 区分大小写 1.2 UNIX特殊字符 1.3 shell 1.4 shell脚本 1.5 函数 1.6 运行shell脚本 1.7 shell脚本中的注释和风格 1.8 控制结构 1.9 使用break、continue、exit和 return语句 1.10 here文档 1.11 shell脚本命令 1.12 符号命令 1.13 变量 1.14 命令行参数 1.15 shift命令 1.16 特殊参数$木和$@ 1.17 双引号”、符号’和 1.18 在Solaris中使用awk 1.19 正确使用ech0命令 1.20 shell脚本中的数学 1.21 内置的数学函数 1.22 文件权限、suid和sgid程序 1.23 在远程主机上运行命令 1.24 设置陷阱 1.25 用户信息命令 1.25.1 wh0命令 1.25.2 W命令- 1.25.3 last命令 1.26 ps命令 1.27 与用户通信 1.28 统一大写或小写文本以方便测试 1.29 检测返回代码 1.30 基于时间的脚本执行 1.30.1 cron表 1.30.2 at命令 1.31 输出控制 1.31.1 静默运行 1.31.2 使用9etopts解析命令行参数 1.31.3 使用后台函数创建一个协作进程 1.32 捕获延迟命令输出 1.33 逐行处理文件的最快方式 1.34 循环中使用命令输出 1.35 邮件通知技术 1.35.1 使用mail和mailx命令 1.35.2 使用sendmail命令来发送外发邮件 1.36 创建一个进度指示器 1.36.1 一系列圆点 1.36.2 一条旋转线 1.36.3 运行时间……第Ⅱ部分 程序员、测试员和分析员脚本第Ⅲ部分 系统管理员脚本附录A Web站点上的内容
作者简介
准备进入UNIX领域!UNIX专家Randal K.Michael将通过编写shell脚本的每个细节指导您自动完成特定任务。《精通Unix Shell脚本编程(第2版)》的每一章都从日常工作中一个常见的UNIX挑战开始,然后揭示了如何采用基本的语法并将其转换成shell脚本可以解决的问题。通过《精通Unix Shell脚本编程(第2版)》,您将了解完整的shell脚本和每一部分的详细描述,学会如何修改相关信息,从而创建用来监控具体系统事件和情况的工具,并提升解决实际系统管理问题的能力。
《精通Unix Shell脚本编程(第2版)》主要内容
最有效地使用BASH、Bourne和KORN shell脚本
执行各种UNIX版本的正确命令
定义正确的命令语法以满足特定的shell脚本目的
过滤命令的输出以去除不必要的数据
创建shell脚本选项,允许终端用户编写更加灵活的命令行
使用rsync复制数据
使用Dirvish创建快照类型的备份
使用记录文件解析数据
使用特定命令为政府审计做好准备
图书封面
精通Unix Shell脚本编程下载 精选章节试读 更多精彩书评