基本信息
- 原书名:UNIX Concepts and Applications Fourth Edition
- 原出版社: McGraw-Hill Companies,Inc.
内容简介
计算机书籍
本书内容丰富、分析透彻.主次分明,主要介绍了UNIX操作系统的基本概念、基本操作、系统管理工具和程序开发工具。全书分两部分。第一部分以文件、进程为基础,介绍了UNIX的体系结构和常用命令,以及shell脚本设计和grep、sed过滤器等内容。第二部分以系统调用和C语言库函数为基础,以系统开发为目标,介绍了系统管理工具、系统开发工具、文件和进程控制、awk过滤器和Perl语言,此外还介绍了V1编辑器的高级命令。
本书特色:新增了“程序开发工具”一章,提供了大量的“工作原理”和提示注解,介绍了Linux特性的相关方面,讲解了安全sheu和加密的有关内容,附录中给出了vi编辑器的命令参考。
本书读者对象:本书适用于广泛的读者群,对于希望深入UNⅨ操作系统内部以及进行内核级程序开发的读者具有非常高的参考价值。本书可作为高等院校计算机相关专业的本科生、研究生的教材,也可作为UNIX应用开发人员、系统程序设计人员以及对uNIx感兴趣的读者的参考书。
本书相关资料链接:http://mhhe.com/das/uca.
作译者
目录
第1章 入门
第2章 UNIX的体系结构与命令用法
第3章 通用命令介绍
第4章 文件系统
第5章 普通文件
第6章 文件的基本属性
第7章 vi编辑器
第8章 shell
第9章 进程
第10章 环境设置
第11章 文件的其他属性
第12章 简单的过滤器
第13章 使用正则表达式的过滤器——grep与sed
第14章 shell程序设计基础
第15章 系统管理基础
第Ⅱ部分 高 级 篇
第16章 X Window系统
第17章 网络工具
第18章 高级过滤器——awk命令
译者序
就这样,从2007年元旦开始到2007年6月30日这半年的时间里,我的主要任务就是翻译本书。抛开别的事情不做,我在一台电脑、一本书、一张椅、一张桌,以及一条连接到外部世界的网线的陪伴下度过了充实而漫长的日子。虽然在翻译过程中碰到过不少困难,但是整个过程我都怡然自得。我醉心于这项工作,我享受着来于内心的满足和翻译的乐趣。在这个竞争激烈、急功近利的社会里,我还能悠然自得地从事自己喜欢的工作,并从中获得极大乐趣,这是多么快乐的生活啊!感谢清华大学出版社给我这个机会,让我从事于这项我梦寐以求的翻译工作,它联姻了我的两个爱好——计算机和英语。
本书的翻译过程总是伴随惊喜。像发现一个宝藏似的,我不断地因书中精辟的观点、透彻的分析和丰富的实例而感到惊喜。本书既从初学者的角度介绍了UNIX操作系统的常用命令,也从系统管理员的角度介绍了系统的管理和维护:既介绍了grep、sed等简单过滤器的用法,也讨论了awk、perl等高级过滤器的脚本设计方法;既讲解了操作系统的基本原理和UNIX的设计理念,也分析了UNIX的系统开发方法和开发工具。本书有大量的命令和程序实例,它们既具体、明确和易于操作,又很有实用价值。相信读者仔细阅读完本书,并测试书中的每个命令和程序实例后,一定会大有收获。
全书共有25章,根据内容分为两部分。第I部分初级篇以文件、进程、shell为核心,介绍了UNIX的体系结构和常用命令,此外还介绍了shell脚本设计和grep、sed等过滤器。第II部分高级篇,以系统调用和C语言库函数为核心,以系统管理和系统开发为目的,介绍了系统管理工具、系统开发工具、文件和进程控制、awk过滤器和perl语言,此外还介绍了vi编辑器的高级命令。..
译者希望读者在阅读本书时,注意两点。第一,由于UNIX命令经常用到!和.等符号,而这些符号又是中文的标点符号,在讨论这些符号或命令的用法时,都没有加引号,因此读者需要区分它们的实际含义;第二,书中许多命令或程序都有注释,这些注释都放在每一行的右侧,为了使读者方便测试这些命令或程序,译者并没有翻译这些注释,因此读者在阅读命令或程序实例时,一定要区别命令内容和注释内容。
本书的第14、15章分别由中国矿业大学(北京)煤炭资源与安全开采国家重点实验室的杜文风博士和黄明博士翻译。本人翻译了全书的其余内容,并负责一校二校工作,最后由郝海波同学认真仔细地校对了全书。在本书翻译过程中,得到我的导师彭苏萍教授和单位领导张文杰教授的全力支持。此外还要感谢温州大学计算机学院李革新、陈忠克、朱翔欧老师和中国矿业大学(北京)何登科、师素珍等博士和刘万金、韩毅等硕士。
最后也是最重要的是,要感谢清华大学出版社第五事业部。在与他们合作中,一直非常愉快,并学习到许多东西。李万红主任强烈的事业心和责任感,让我感动。编辑们认真仔细的工作态度无时无刻在督促我在以后的翻译中更上一层楼。
翻译这样一本学术巨著实在不是一件容易的事。有时为了翻译一个名词术语、或者某个句子,我要查阅许多UNIX的参考书籍,请教许多同行及英语专家,甚至在Internet上大海捞针般地搜索资料,因此,误译和错译在所难免。恳请读者批评指正,请将您的反馈发送到信箱wkservice@tup.tsinghua.edu.cn,我们将不胜感激!...
吴文国
2007年6月30日于温州大学
前言
虽然本书只讨论某个特定的操作系统,但是它将有助于读者理解通用的操作系统。作者就是抱着这样的目的编写本书的第4版的。事实上,操作系统的理论课程经常利用UNIX系统说明操作系统的关键技术。自从UNIX出现以来,我们还没有见到一个能与之相媲美的操作系统,因此如果未来的其他操作系统采用了UNIX众多关键技术的一部分,我们也不会感到意外。
许多用户偏向使用Windows操作系统提供的友好界面。因此,面对UNIX时,他们也许会问这样的问题:“既然简单地使用鼠标就能操作计算机,为什么还需要用键盘输入命令呢?”这样的想法没有错,但是UNIX的忠实支持者可以轻而易举地举出几个例子证明鼠标并不是万能的。当读者读完本书的第Ⅰ部分之后,就会发现:一些复杂的任务单凭鼠标操作不能完成,而必须利用系统提供的各种工具,并且需要利用shell命令解释器进行编程。对UNIX的忠实用户来说,UNIX的界面是否友好并不重要。它只是生活的一种方式,而这种生活方式正是人们所不断追求的。
UNIX历经不衰的原因
尽管UNIX是由工程和科学研究团体共同创造的,但是由于它的健壮性,以及没有与之媲美的代替品,使得它在商业界得到普遍的认可。UNIX在掌上电脑和超级计算机上普遍流行。它是企业管理数据库、ISP服务器、Web服务器和电子商务的首选平台。更重要的是,由于广大计算机精英们的不懈努力,它的性能和功能正日趋完善。因此,将会有越来越多的人选择UNIX。
UNIX提供了两个最优秀的文本编辑器(vi 和 emacs),它的文本处理功能无与伦比。UNIX利用各种命令的组合,解决了复杂的文本编辑问题。利用shell的可编程特性,用户很容易开发出非交互式的应用程序,而且用户还可以为这些应用程序制定运行时间表,使它们在某些特定的时间运行。读者很快就会发现,UNIX实际上一直在鼓励用户创造性地使用它的基本工具集,读者不久就会喜欢上UNIX操作系统的这个特点。
但历史上的UNIX曾出现过混乱的局面,这确实是一件令人非常沮丧的事。现在由于POSIX(可移植操作系统接口)和Open Group等标准化组织的出现,这些问题得到了解决。现在UNIX拥有唯一的标准,即单一UNIX规范(The Single UNIX Specification)。它明确规定了一个UNIX操作系统必须具备的特性。只要参照该标准开发出来的应用程序无需任何修改就可以在所有的UNIX系统上运行。本书用POSIX表示这个规范。
本版特色
本版比上一版少了几章的内容,但是整体的篇幅没有减少。我坚持认为,UNIX系统的管理员需要另外一本参考书,所以在本版中,减少了这部分的内容。另外,由于TCP/IP和网络配置也不是基本UNIX必不可缺少的部分,所以在本版,只用一章的篇幅讨论这部分内容。我把网络管理及相关的内容放到Web主页上。本版还具有以下的重要特点:
● 大量的旁白。这些旁白的标题为“工作原理”。尽管这些内容是可选的,但是它们可以帮助读者更全面地理解UNIX的工作原理,并且它们是UNIX环境下编程的基础。
● 专门有一章介绍程序开发工具。这些工具包括make工具和版本控制工具(如SCCS和RCS等)。如果读者需要开发大型的项目,则需要利用这一章的知识进行项目管理。..
● 专题讨论密码学和SSH(安全外壳套件,Secure Shell Suite)提供的工具。由于黑客的威胁日益严重,很容易对我们的生活和网上交易造成威胁,所以我们需要了解数据加密的原理和方法。
● 有关vi编辑器命令的使用指南已单独列在附录B里。其实原本就想这样安排,现在终于实现了。
● 特别推出了“命令反查表”,放在附录C里。读者可以用它来根据任务找到相应的命令。
本书也讨论了Linux操作系统,但是它不是作为UNIX的替代品,而是作为UNIX的一个重要实现。读者要把Linux当作学习Unix的入门版本。与UNIX的各种类型(如Solaris, HP-UX和AIX)一样,Linux也遵循了POSIX规范和单一UNIX规范。事实上,在Linux与UNIX的各个类型之间,它们的相似性远超过其差异性。本书不鼓励使用Linux专有的功能。
接下来,我们要读者的是,虽然许多人喜欢UNIX/Linux是由于它的用户图形界面(GUI),但读者必须明白这样的事实:GUI是用来查看图形和浏览Web页面的。以窗口形式使用UNIX往往弄巧成拙。如果你欣赏UNIX命令行的交互方式,那么本书正适合你。尽管本书也有一章的篇幅介绍X Window系统的特性,但是在本书以后的版本中,肯定要减少这方面的内容。
每章后面的练习都经过重新编排。与前几版相比,本版的练习更多,也更富有挑战性。每章都有一个“测试练习”,其中包含的都是一些比较简单的问题,但是希望读者在继续阅读后面章节之前,先努力完成这些练习。附录D中有这些练习的参考答案。比较难的问题放在“思考题”中。
书中的全部示例都可以在大多数UNIX/Linux系统上运行,针对某些特定系统的一些示例都有详细的说明。另外,本书中使用了一些缩略语,现列举如下:
SVR4——System V Release 4。
sh——Bourne shell。
书摘
1.2 UNIX操作系统
类似于DOS和Windows操作系统,还有一个称为UNIX的操作系统。它早在前两者诞生之前就出现了,但在Internet出现之前,它一直在幕后默默无闻。UNIX是一个大型的操作系统,单从功能来说,它远远超出了DOS和Windows这两个操作系统。它具有一个操作系统必须具有的一切功能,其中有几个功能是其他操作系统从来不曾具有的。它的丰富功能和精巧的构造远远超出了它所包含的命令集和工具软件,而它的简约性自始至终贯穿于整个系统。它几乎可以运行在任何一种硬件上,它促成了“开源代码运动”(Open Source Movement)。
但是UNIX对用户的要求比较高。即使用户是一个有着丰富经验的计算机专家,要掌握它也需要投入相当的时间和精力。它在计算领域里引入了一些独创性的概念,并使用了许多不常见的符号。它完成一项非同寻常的任务有时只需用户输入几个字符即可,但有时涉及设计指令序列时则需要假以时日才能完成。但经常会出现这样的情形:它根本不告诉用户操作正确与否,也不提示用户某一操作的结果。这正是许多人远离UNIX的原因。..
然而,通过一个命令解释器,即shell程序(以后简称为shell)即可实现与UNIX操作系统的交互。当我们通过键盘输入一个单词时,shell程序会把它理解为一个需要执行的命令。命令是指操作系统内置的数百个工具之一,或者某个由用户自己编写的程序。UNIX的强大之处在于它可以把不同的命令组合起来,这与英语中将不同的单词组合成一个新词汇是一样的。当读者阅读完本书时,就会发现这正是UNIX系统的强大之处。
Kernighan和Pike(The UNIX Programming Environment一书的作者)曾经发出这样的感叹:“当UNIX日益普及时,精通其应用的程序开发人员的数量却在日趋减少。”很多人还是像使用其他操作系统那样使用UNIX,继续重复那些他人早已编写过的通用程序。通常,有DOS和Windows操作经验的初学者也可能会从以往的角度看待UNIX系统,但他们根本不会考虑到这样的事实:UNIX包含更多的东西。因此,每当我们遇到一个类似的特性时,我们可以拿它与DOS/Windows相比较,但是仅此而已,不要让它们影响到自己学习UNIX。...