内 容 简 介Unix操作系统是目前一些常用平台(Mac OS X 和Linux)的基础。本书将讨论Unix的基础知识以及日益流行的Sun Solaris和BSD平台的基础知识。首先,读者将学习Unix术语、核心概念、方法以及怎样登陆和退出系统,然后开始定制工作环境并学习命令,最后将学习如何管理进程、处理安全事务、使用Perl脚本自动处理任务,以及如何安装Unix程序和备份数据等内容。
前 言 计算机的许多领域,从具有巨大存储空间的新存储形式到比第一代计算机用户所能想象的强大得多的操作系统,都发生了很大的变化。30多年前,人们设计并开发了Unix操作系统,它已成为计算机演化进程的一部分,而且Unix仍然是执行关键任务的最为流行的操作系统之一。 Unix是当前一些用得最多的操作系统的基础,从Apple公司的Mac OS X系统到Linux,再到更加广为人知的Unix版本,例如Sun公司的Solaris Unix和IBM公司的AIX系统。现在,许多Unix版本对用户和企业都是免费的,这使得Unix拥有一个很大的用户群,比当初刚开发时人们所想象的要大得多。现在Unix被看作是一个用户友好的、非常安全和健壮的操作系统,而不是曾经被认为只对计算机专家有用的冷冰冰的、只有命令行的操作系统。 本书涵盖了Unix操作系统的各方面的内容。其独特之处在于它不仅包含标准的Unix系统,如Sun公司的Solaris Unix和IBM公司的AIX系统,还包含Unix的派生系统,如Apple公司的Mac OS X系统以及各种Linux。此外,本书包括一个独有的转换章节,解释了如何将已知的Mac OS X-specific或者Windows操作系统命令转换为与它们等价的Unix指令,这大大简化了从其他操作系统到Unix的转化。 为了提高学习本书的效率,您可以使用KNOPPIX操作系统。这个功能完整的Linux版本可以让您重启计算机进入Linux环境。KNOPPIX不需要技术经验,并且它不会破坏或改变当前的操作系统。对读者来说,利用KNOPPIX来理解本书是一个简单易行的方法,在学习Unix的同时避免出现丢弃计算机上的数据或者操作系统的风险。 本书读者对象 本书适用于任何对理解Unix操作系统,包括Unix的任何可用的派生系统(例如Apple OS X、Linux,或者BSD)的概念和操作感兴趣的人。本书是为那些绝对的Unix新手设计的,包括那些只用过不同Unix系统(Apple的Aqua界面、KDE、GNOME等)的图形界面的用户。本书对资深的Unix用户也有用,因为没有人了解Unix的所有内容,它可以作为对已知概念的回顾或者作为填补某些知识领域内的漏洞的工具。 本书对读者的技术水平或使用计算机的经历不做任何要求。如果读者曾经使用过计算机和其他操作系统,如Mac OS X或者Microsoft Windows,那么对某些概念就会理解得更快一些,但是所有读者都会从本书获得一定的收益。 本书主要内容 本书涵盖所有Unix版本的最基本的形式,以及所有Unix版本及其派生系统通用的命令和概念,包括: ● Apple公司的Mac OS X ● Red Hat Linux ● Mandrakelinux ● IBM公司的AIX ● 任何版本的Linux ● 任何版本的BSD(FreeBSD,OpenBSD,NetBSD) 本书重点放在Sun公司的Solaris、Mac OS X和Linux上,因为获得它们最容易。不同的Unix版本使用的原理和命令相同,只有很小的差异,因此任何版本的Unix都可以使用本书。 本书还涉及到基本的编程,包括shell脚本编程和Perl编程,这可以让我们的系统尽可能地自动化——这也是Unix操作系统功能强大的一个表现。掌握这些编程概念将为用户学习其他书籍所涵盖的更高级的编程知识打下一个坚实的基础。 本书组织结构 本书首先讲解Unix操作系统的基本概念,然后逐步深入到后面更高级的主题和编程技术。如果您对某一章所涵盖的概念或命令比较熟悉,可以直接跳到需要学习的章节。 第1~4章介绍了理解Unix方法学所需的基本信息,Unix是如何设计的,以及登录和退出Unix系统的基础知识。 ● 第1章:Unix基础。Unix的基础知识,包括历史和术语以及Unix设计和哲学体系的一些核心概念。本章有助于理解Unix操作系统背后的一些文化。 ● 第2章:起步。本章描述了为有效地使用Unix操作系统所必须了解的首要内容,包括在Unix的启动过程中会发生哪些事情、如何登录、用户环境(shell)是怎样构造的,以及如何正确地退出Unix系统。 ● 第3章:理解用户和组。了解系统中用户和组的工作原理对于理解怎样才能有效地使用系统至关重要。本章涵盖了用户账户和组的所有方面,包括如何添加、修改和删除用户账户,以及如何利用su命令变成另外一个用户。 ● 第4章:文件系统。Unix文件系统是Unix系统整体中最关键的组成部分之一。文件系统允许用户存储和操作自己的文件。本章将从用户和系统管理员的角度来说明Unix文件系统是什么以及要如何使用它。读者将会学会如何有效地使用文件系统,从而可以避免与文件系统管理有关的一些常见问题。 第5~7章使读者可以进行实际的操作,从定制自己的工作环境到编辑Unix上的文件。这些章节将扩大读者对Unix命令的了解。 ● 第5章:定制工作环境。shell是在Unix中完成日常工作所用到的最基本的环境。Unix提供了很多方法来定制工作环境以适应各种需要。本章将介绍多种配置方法,这些方法适用于各种Unix shell用户。 ● 第6章:深入Unix命令。Unix有数百条实现各种任务的不同命令。为了有效地利用系统来完成日常工作,需要理解那些最常用的命令,本章将给出其中一些命令的基础。 ● 第7章:用vi编辑文件。vi编辑器是Unix中最古老而且使用最广泛的文本编辑器之一。通常认为它是一个整体式的且难以使用的编辑器,但是,就像我们将要学到的那样,它是编辑文件的一种快速且强大的方式。本章研究了有效地使用vi编辑器创建和编辑文件的各个方面。 有了一个好的基础,下面将转入几个更高级的主题。第8~11章讨论了如何利用一些强有力的Unix工具,怎样管理进程,以及如何调度程序使其在指定的时间运行。第12章则阐述了安全性这一重要主题。 ● 第8章:高级工具。本章介绍了正则表达式的概念和Unix用户可以使用的一些更高级的工具。 ● 第9章:高级Unix命令:Sed和AWK。sed和awk是两个非常强大的工具,它们使得用户能以一种高效的方式来操作文件。这些命令很重要,读者将会发现自己会频繁地用到它们。本章将说明如何使用这些命令。 ● 第10章:作业控制和进程管理。本章涵盖了Unix进程的基础知识以及如何控制和管理Unix操作系统的这些重要组成部分。作为对进程的扩展,将回顾和解释工作控制。 ● 第11章:在指定时间运行程序。在指定时间运行程序而无需用户或管理员干涉,这使得用户或管理员能够在最少用户利用系统时在系统影响最小的情况下运行程序。本章介绍如何在不同时间运行命令并讨论影响进程的环境变量。 ● 第12章:安全性。多年以来,Unix的安全特性已经颇为彻底,但是,与很多操作系统一样,可以使它更加安全以防范来自外部或内部的恶意实体。本章回顾了系统安全的基础,然后介绍了一些使系统更加安全所能采取的基本步骤。 第13~17章研究shell脚本编程以及使Unix系统中的普通任务“自动化”的其他方法。虽然这些任务通常属于系统管理员的职责范围,但是其他用户(包括家庭用户),也会从中受益。 ● 第13章:基本shell脚本编程。对许多用户来说,shell脚本编程是走向更高级编程语言的必由之路。本章研究主要的Unix shell中的编程基础,从而使用户转变为初级程序员的过程更为简单。 ● 第14章:高级shell脚本编程。本章在第13章的基础上更进一步,转入更高级的编程主题,使读者具备可以为任何任务编写shell脚本的能力。 ● 第15章:系统日志。对用户、管理员和程序员来说,日志极为重要。它是系统与用户进行交互的出口。无论是出现问题还是成功地系统操作,所有的事情都通过日志与用户进行通信。 ● 第16章:Unix网络互联。本章涵盖了与其他系统进行通信的所有方面,包括网络管理和为通常的网络任务编写脚本。 ● 第17章:Perl编程实现Unix自动化。Perl是在Unix以及其他操作系统上使用得最为普遍的编程语言之一。Perl能使用户很快地写出简洁有用的程序。本章介绍了Perl语言的编程基础并告诉读者如何使用Perl来自动化通常的Unix任务。 第18~19章包含了两个重要的主题:备份数据和安装Unix程序。 ● 第18章:备份工具。本章描述了Unix系统上一些可用于备份和恢复系统的工具,当发生意外删除、主系统失灵或者其他灾难时就可以恢复系统。 ● 第19章:从源代码安装软件。虽然Unix包含许多默认安装的程序,但还是会有很多其他需要安装的程序。本章讲述如何从源代码和预编译的二进制文件出发来安装软件。 第20~21章为那些熟悉Microsoft Windows、Microsoft DOS、Mac OS 9和Mac OS X的读者提供了一个到Unix操作系统的映射。对那些已经用过其他操作系统并且想把Unix和他们已经知道的内容作比较的人来说,这些章节是一个很好的参考。 ● 第20章:转换:适用于Mac OS用户的Unix。Max OS X建立在Unix的基础上,但是在标准Unix和Apple公司的Mac OS X之间存在一些细小的差别。本章将典型的Mac OS(X,9及以下版本)命令和概念转换为与它们等价的Unix命令或概念。对Apple公司任何版本的操作系统的用户而言,本章将使他们转移到Unix的过程变得更为简单。 ● 第21章:转换:适用于Windows用户的Unix。Microsoft Windows是当前处于主流地位的操作系统。本章将最常用的Windows和MS-DOS命令转换为与它们等价的Unix命令,从而简化从这些操作系统到Unix的转移过程。 本书包含两个附录。附录A,“答案”,给出大部分章节后面所附习题的解答。这些习题可以用来检验读者对相应章节中讨论的概念的掌握情况。附录B,“有用的Unix站点”,给出了因特网上一些最好的Unix相关站点的链接。 源代码 如果希望剪切和粘贴而不是手工输入代码,本书中的源代码可以在网站或www.tupwk.com.cn/downpage网站上在线获得。在Wrox 站点上,可以通过查找书名(Beginning Unix)或ISBN(0-7645-7994-0)找到本书的源代码。 勘误表 本书已经检查过技术和语法错误,但是还是难免会存在差错。本书的勘误记录可在上的书籍详细资料部分获得。如果在书中发现没有列出的错误,请进入/contact/techsupport.shtml页面并填写表格提交该错误,作者将不胜感激。通过提交发现的差错,可以帮助我们使本书更完善。