UNIX shell范例精解(第4版)
基本信息
编辑推荐
1.硅谷杰出讲师Quigley经典著作之最新版!.
2.本书是您跨入shell编程专家行列的必备宝典!..
3.随书光盘中提供了完整的shell编程代码库,包括本书中所有范例程序的源代码和数据文件,它将成为您寻找可靠的解决方案及代码资源的实用参考!...
推荐阅读
内容简介回到顶部↑
书籍
计算机书籍
在本书的再版中,quigley对她的经典著作进行了全新的改版,增加了当前shell程序员所需的最新内容——使用bash进行linux shell编程。
本书汇聚了quigley 21年来的 shell编程教学经验。书中不仅展示了能帮助读者快速入门的大量精选范例,还系统地讲解了unix与gnu/linux上的awk、sed及grep等内容。在quigley的指导下,即使是shell初学者也可以学会unix/linux上所有主流shell的编程知识,包括5种shell的交互式命令及脚本编程,从而领会作者的编程思路。本书可作为shell编程的入门教程,也是系统管理员、程序设计人员的必备参考。
计算机书籍
在本书的再版中,quigley对她的经典著作进行了全新的改版,增加了当前shell程序员所需的最新内容——使用bash进行linux shell编程。
本书汇聚了quigley 21年来的 shell编程教学经验。书中不仅展示了能帮助读者快速入门的大量精选范例,还系统地讲解了unix与gnu/linux上的awk、sed及grep等内容。在quigley的指导下,即使是shell初学者也可以学会unix/linux上所有主流shell的编程知识,包括5种shell的交互式命令及脚本编程,从而领会作者的编程思路。本书可作为shell编程的入门教程,也是系统管理员、程序设计人员的必备参考。
作译者回到顶部↑
本书提供作译者介绍
Ellie Quigley 著名的“Perl多媒体电脑教室”的创始人、杰出的讲师,以讲授Perl和UNIX shell编程课程而享誉硅谷。她的著作包括Perl by Example,Third Edition(Prentice Hall PTR,2001)、UNIX Shells by example和Linux Shells by Example(Prentice Hall PTR,2000)。在她的公司网站(www.ellieq.com)上还可以找到有关UNIX、Perl、C/C++、Java和系统管理的在线培训课程。
.. << 查看详细
.. << 查看详细
目录回到顶部↑
第1章 unix/linux shell简介
1.1 unix与linux及其历史
1.2 shell的定义与功能
1.3 shell的历史
1.4 系统启动与登陆shell
1.5 进程与shell
1.6 环境与继承
1.7 在脚本中执行命令
第2章 shell编程快速入门
2.1 shell脚本简介
2.2 脚本实例:主要shell的比较
2.3 c shell与tc shell的语法和结构
2.4 bourne shell的语法和结构
2.5 korn shell结构
2.6 bash shell结构
第3章 正则表达式与模式匹配
3.1 正则表达式
3.2 组合正则表达式元定符
第4章 grep家族
4.1 grep命令
1.1 unix与linux及其历史
1.2 shell的定义与功能
1.3 shell的历史
1.4 系统启动与登陆shell
1.5 进程与shell
1.6 环境与继承
1.7 在脚本中执行命令
第2章 shell编程快速入门
2.1 shell脚本简介
2.2 脚本实例:主要shell的比较
2.3 c shell与tc shell的语法和结构
2.4 bourne shell的语法和结构
2.5 korn shell结构
2.6 bash shell结构
第3章 正则表达式与模式匹配
3.1 正则表达式
3.2 组合正则表达式元定符
第4章 grep家族
4.1 grep命令
译者序回到顶部↑
作为一名经常使用UNIX/Linux系统进行软件开发的研发人员,我们对shell的功能和趣味性深有体会。然而国内本科教学,大都不把某个工具作为一门课程,对于shell也不例外。因此就造成了这样一种局面:国内开发人员阅读UNIX脚本的能力非常差,使用shell编程的人不多,也很少有人能够直接修改UNIX系统的启动配置。.
2002年,我们有幸访问了英国某软件公司。当时需要将一个编译程序的目标码从Big-Endian计算机移植到环境基本相同的Little-Endian计算机上运行。该公司一名普通的程序员仅键入了几十行代码,创建了一个shell脚本,通过执行该脚本,就将原来在Big-Endian上的可执行程序转换成了在Little-Endian机器上的可执行程序。在感叹该程序员对机器指令与编译系统非常熟悉的同时,我们也见识到了shell脚本功能的强大。
shell编程通常不作为开发正式软件的方法,但是在安装、启动、格式转换、查找等方面作用显著,是提高工作效率的利器。..
本书作为UNIX Shells by Example的第4版,主要增加了shell编程快速入门、调试shell脚本以及shell用于系统管理等方面的内容。作者作为有着21年教学经验的讲师,在组织书籍的结构方面,非常注重实用但不面面俱到,选择了那些基本的知识点进行讲解。对于每个知识点,作者先进行了简明扼要的说明,然后给出了若干组精心设计的范例,从而指导读者在实践中学习UNIX/Linux上所有主流shell的理论知识。
最后,欢迎各位读者对本书提供反馈意见。我们希望读者能从本书中受益,也希望通过读者的反馈意见来了解自己的不足,以求在今后的译作中更多更切实际地考虑读者的需要。请将您的反馈信息发送至wkservice@tup.tsinghua.edu.cn,我们将不胜感激。...
译者
2006年12月
2002年,我们有幸访问了英国某软件公司。当时需要将一个编译程序的目标码从Big-Endian计算机移植到环境基本相同的Little-Endian计算机上运行。该公司一名普通的程序员仅键入了几十行代码,创建了一个shell脚本,通过执行该脚本,就将原来在Big-Endian上的可执行程序转换成了在Little-Endian机器上的可执行程序。在感叹该程序员对机器指令与编译系统非常熟悉的同时,我们也见识到了shell脚本功能的强大。
shell编程通常不作为开发正式软件的方法,但是在安装、启动、格式转换、查找等方面作用显著,是提高工作效率的利器。..
本书作为UNIX Shells by Example的第4版,主要增加了shell编程快速入门、调试shell脚本以及shell用于系统管理等方面的内容。作者作为有着21年教学经验的讲师,在组织书籍的结构方面,非常注重实用但不面面俱到,选择了那些基本的知识点进行讲解。对于每个知识点,作者先进行了简明扼要的说明,然后给出了若干组精心设计的范例,从而指导读者在实践中学习UNIX/Linux上所有主流shell的理论知识。
最后,欢迎各位读者对本书提供反馈意见。我们希望读者能从本书中受益,也希望通过读者的反馈意见来了解自己的不足,以求在今后的译作中更多更切实际地考虑读者的需要。请将您的反馈信息发送至wkservice@tup.tsinghua.edu.cn,我们将不胜感激。...
译者
2006年12月
前言回到顶部↑
shell游戏充满了乐趣。编写本书的目的就是使您的学习过程变得有趣而又充满收获。本书的第1版推出后,很多读者来信说,他们从我的书中得到了帮助,认识到shell编程根本就不难!范例让shell编程容易而有趣。正是因为您的肯定,Prentice Hall才邀请我编写这本书的第4版。除了一些更新的内容之外,我在这个版本中增加了3章全新的内容。因为Linux在最近几年来的快速普及,我们在新书中对Linux中的多个GNU工具进行了全面的介绍,并对UNIX/Linux shell中的各项特征进行了详细阐述。.
本版新增加的内容包括第2章、第15章和第16章。第2章“shell编程快速入门”引导程序员尽快掌握shell编程的结构,并了解shell编程与其他语言编程的差别。第15章“调试shell脚本”给出了一些错误消息的范例,并告诉您导致错误的原因,以及如何修正错误。第16章“系统管理员与shell”将展示系统管理员在从系统启动到关机的过程中如何使用shell。
本书是我21年教学生涯的顶点,这些年来,我针对各种shell和程序员常用的UNIX/Linux工具设计了多门课程。我为这些课程编写的讲义被用于加州大学圣克鲁兹分校和戴维斯分校的UNIX教学、SUN公司的培训。还被Apple公司、Xilinx公司、美国国家半导体公司、LSI Logic公司、DeAnZa大学以及全球众多厂商采用。根据客户的需求,通常每次只讲授一种shell,而不是一次讲授全部的shell。为了满足众多客户的需要,我为每种shell和工具单独编写了培训教材。
无论是在讲授“grep、sed和awk”,“系统管理员Bourne shell教程”,“交互式的korn shell”,还是“bash编程”时,总有学生会问:“有没有一本书能够涵盖了所有的shell以及grep、sed和awk这些重要的工具?”,“awk与gawk之间有什么区别?”,“某个工具能否在Linux系统上工作,还是仅仅适用于Solaris系统?”,“我是否应该拥有一本awk的书,或者要买一本关于grep和sed的书籍?”,“是否有一本书能够真正地覆盖所有这些内容?”,“我不希望为了成为一名shell程序员而购买三四本书”。
遇到这类问题时,我可以向学生们推荐一大堆好书,但是这些书籍只是单独讲述某个主题。也有一些UNIX参考书尝试覆盖所有的内容,但都只做蜻蜓点水式的介绍,学生们需要的却是详细的讲解。学生们希望有一本书能够包含他们需要的全部内容:各种工具、正则表达式、主流shell、引用规则、各种shell的比较、练习等全都容纳在一本书中。本书就是这样的一本书。
编写这本书同时,我也在思考如何以相同的布局来教授课程和组织章节。在shell编程课程中,第一个主题不外乎介绍什么是shell,它是如何工作的。然后讲述如grep、sed和awk等最重要的工具。在学习各种shell时,首先介绍的是它作为一个交互式程序,所有的事情都可以在它的命令行中完成。然后介绍了它作为一种编程语言的编程结构,并在shell脚本中进行说明(作为编程语言,C shell与TC shell几乎完全相同,所以在描述它们的交互式应用时设立了单独的章节,而在讨论编程结构时仅用了一章的内容)。..
在实际应用中,编写脚本是一回事,调试脚本则是另一回事。我在shell方面工作多年,因此在bug发生前我就能在程序中把它们找出来。但实际上这些bug是难以预料的,除非您已经看惯了错误信息并能理解它们的含义。因此,我针对调试中出现的问题增加了一章的内容以帮助您理解常见的错误提示信息及其含义,以及如何修正错误。由于不同版本的shell诊断信息可能不相同的,所以书中给出了每种shell常见的错误信息以及导致该错误的原因。
由于许多学生选择学习shell课程并想借此为学习系统管理铺路。于是,我的同事Susan Barr,负责讲授系统管理与shell编程课程的讲师,也将自己的知识拿出来共享,也就有了系统管理员如何使用shell的这一章的内容(第16章“系统管理员与shell”),这里致以谢意。
我时常发现,简单的例子更容易理解,用一个小范例,然后附上输出,再对程序中的每一行进行解释,这样每个概念都能立即被掌握。对从我的第一本书Perl by Example中学习Perl编程,或从JavaScript by Example中学习JavaScript,以及从UNIX Shells by Example中学习编写shell程序的读者来说,这种方法已被证明是十分有效的。
本书另外一个有助于理解的特点是对5种shell的讨论是平行的。例如,某个时刻您正在一种shell上工作,但您希望看到重定向在另外一种shell上的情形,那么您将发现在每种shell的独立章节中,都有一个针对该主题的相应讨论。
当需要详细了解某个特定的命令如何工作时,您会因需在几本书或man手册中不停地翻来翻去而感到头疼。为节省时间,附录A包含了UNIX和Linux有用的命令列表,它们的语法以及定义。对常用命令还提供了范例和说明。
附录B中的对照表将帮助您理清不同shell之间的差别,特别是在将脚本从一种版本的shell移植到另外一种版本的shell上时,这一点显得更加重要。如果只想知道某种结构是如何工作的,那么也可以将它作为快速参考。
阅读本书,您将发现它是一本宝贵的指南和参考手册。本书的目标是通过范例讲解,将概念简化以使您获得乐趣并节省时间。因为这本书包含我在课堂上讲授的全部内容,所以我确信您将在短时间内成为一名高效率的shell程序员。您所要做的就是坐下来,翻开这本书,尽情享受shell游戏带来的乐趣。...
Ellie Quigley(lequig@aol.com)
本版新增加的内容包括第2章、第15章和第16章。第2章“shell编程快速入门”引导程序员尽快掌握shell编程的结构,并了解shell编程与其他语言编程的差别。第15章“调试shell脚本”给出了一些错误消息的范例,并告诉您导致错误的原因,以及如何修正错误。第16章“系统管理员与shell”将展示系统管理员在从系统启动到关机的过程中如何使用shell。
本书是我21年教学生涯的顶点,这些年来,我针对各种shell和程序员常用的UNIX/Linux工具设计了多门课程。我为这些课程编写的讲义被用于加州大学圣克鲁兹分校和戴维斯分校的UNIX教学、SUN公司的培训。还被Apple公司、Xilinx公司、美国国家半导体公司、LSI Logic公司、DeAnZa大学以及全球众多厂商采用。根据客户的需求,通常每次只讲授一种shell,而不是一次讲授全部的shell。为了满足众多客户的需要,我为每种shell和工具单独编写了培训教材。
无论是在讲授“grep、sed和awk”,“系统管理员Bourne shell教程”,“交互式的korn shell”,还是“bash编程”时,总有学生会问:“有没有一本书能够涵盖了所有的shell以及grep、sed和awk这些重要的工具?”,“awk与gawk之间有什么区别?”,“某个工具能否在Linux系统上工作,还是仅仅适用于Solaris系统?”,“我是否应该拥有一本awk的书,或者要买一本关于grep和sed的书籍?”,“是否有一本书能够真正地覆盖所有这些内容?”,“我不希望为了成为一名shell程序员而购买三四本书”。
遇到这类问题时,我可以向学生们推荐一大堆好书,但是这些书籍只是单独讲述某个主题。也有一些UNIX参考书尝试覆盖所有的内容,但都只做蜻蜓点水式的介绍,学生们需要的却是详细的讲解。学生们希望有一本书能够包含他们需要的全部内容:各种工具、正则表达式、主流shell、引用规则、各种shell的比较、练习等全都容纳在一本书中。本书就是这样的一本书。
编写这本书同时,我也在思考如何以相同的布局来教授课程和组织章节。在shell编程课程中,第一个主题不外乎介绍什么是shell,它是如何工作的。然后讲述如grep、sed和awk等最重要的工具。在学习各种shell时,首先介绍的是它作为一个交互式程序,所有的事情都可以在它的命令行中完成。然后介绍了它作为一种编程语言的编程结构,并在shell脚本中进行说明(作为编程语言,C shell与TC shell几乎完全相同,所以在描述它们的交互式应用时设立了单独的章节,而在讨论编程结构时仅用了一章的内容)。..
在实际应用中,编写脚本是一回事,调试脚本则是另一回事。我在shell方面工作多年,因此在bug发生前我就能在程序中把它们找出来。但实际上这些bug是难以预料的,除非您已经看惯了错误信息并能理解它们的含义。因此,我针对调试中出现的问题增加了一章的内容以帮助您理解常见的错误提示信息及其含义,以及如何修正错误。由于不同版本的shell诊断信息可能不相同的,所以书中给出了每种shell常见的错误信息以及导致该错误的原因。
由于许多学生选择学习shell课程并想借此为学习系统管理铺路。于是,我的同事Susan Barr,负责讲授系统管理与shell编程课程的讲师,也将自己的知识拿出来共享,也就有了系统管理员如何使用shell的这一章的内容(第16章“系统管理员与shell”),这里致以谢意。
我时常发现,简单的例子更容易理解,用一个小范例,然后附上输出,再对程序中的每一行进行解释,这样每个概念都能立即被掌握。对从我的第一本书Perl by Example中学习Perl编程,或从JavaScript by Example中学习JavaScript,以及从UNIX Shells by Example中学习编写shell程序的读者来说,这种方法已被证明是十分有效的。
本书另外一个有助于理解的特点是对5种shell的讨论是平行的。例如,某个时刻您正在一种shell上工作,但您希望看到重定向在另外一种shell上的情形,那么您将发现在每种shell的独立章节中,都有一个针对该主题的相应讨论。
当需要详细了解某个特定的命令如何工作时,您会因需在几本书或man手册中不停地翻来翻去而感到头疼。为节省时间,附录A包含了UNIX和Linux有用的命令列表,它们的语法以及定义。对常用命令还提供了范例和说明。
附录B中的对照表将帮助您理清不同shell之间的差别,特别是在将脚本从一种版本的shell移植到另外一种版本的shell上时,这一点显得更加重要。如果只想知道某种结构是如何工作的,那么也可以将它作为快速参考。
阅读本书,您将发现它是一本宝贵的指南和参考手册。本书的目标是通过范例讲解,将概念简化以使您获得乐趣并节省时间。因为这本书包含我在课堂上讲授的全部内容,所以我确信您将在短时间内成为一名高效率的shell程序员。您所要做的就是坐下来,翻开这本书,尽情享受shell游戏带来的乐趣。...
Ellie Quigley(lequig@aol.com)








点击看大图






加载中...

