出版时间:2011-1 出版社:清华大学出版社 作者:何明 页数:871
Tag标签:无
前言
前 言20世纪80年代中期,一个偶然的机会我弄到了一本UNIX和一本C语言程序设计的书(都是英文版的)。出于对UNIX操作系统和C语言的好奇(因为当时许多计算机同仁将UNIX和C语言“奉若神明”),我开始一边查英语字典一边阅读这两本我的UNIX和C语言的启蒙教程。虽然当时我的英语水平不是很高,但是发现这两本书很好理解。正是由于这一经历,使我对UNIX系统和C语言产生了浓厚的兴趣,并使UNIX系统一直如影随行地与我相伴了20多个春秋。回首自己学习UNIX和Linux系统的经历,真是要感谢那两本书的作者,如果我看的第一本UNIX和C启蒙教材不是这两本书也许根本就没有兴趣在这一领域坚持这么久了。不过非常遗憾的是我没能记住它们的名字,因为搬了多次家,已经记不得将这两本书收藏在什么地方了。在写这本书时,曾经在家里翻了很多地方,但是都没找到,多少有些遗憾!正是由于对UNIX系统和C语言产生了浓厚的兴趣,在读研究生时,我选修了高级操作系统技术和高级C语言程序设计两门课程。学习这两门课程的过程中,在老师的指导下我阅读了不少UNIX操作系统命令的C语言源程序(如cp、rm、mv、mount以及ls等),并利用工作之便在单位的计算机上对这些程序进行编译或运行。没想到这种完全是出于好奇和好玩的个人经历却为自己的IT职业生涯打下了坚实的基础。20世纪90年代,我开始接触SUN公司的UNIX操作系统,最早使用的是Solaris2.51,之后陆续使用了Solaris7、8、9和10。由于工作的需要还学习和使用过惠普公司的UNIX操作系统HP-UX以及Tru64 UNIX 5.1B等不同厂家的UNIX操作系统。1999年,也是出于好奇,鬼使神差地花了50多新西兰元买了一本名为《Teach Yourself Linux in 24 Hours》的介绍Linux系统的书(不过坦率地说,我读懂这本500多页的书所用的时间远远不止24小时),就此又开始学习和使用Linux系统了。之后,学习和使用的Linux系统包括Red Hat Linux 7.3、Red Hat Linux 9。后来由于要将Oracle数据库管理系统安装在Linux操作系统上,转而学习和使用Red Hat Enterprise Linux 3、Red Hat Enterprise Linux 4、Red Hat Enterprise Linux 5以及Oracle Enterprise Linux 4和Oracle Enterprise Linux 5。在快速变化的现代社会中,能够与一件东西相伴差不多四分之一世纪已经实属不易。我与UNIX和Linux操作系统朝夕相处这么久,确实发现了它们具有许多其他系统无法比拟的优点。也许正是由于这些优点,UNIX和Linux系统被广泛地应用在大中型企业级服务器和Web服务器上,现在它们已经成为当今的主流操作系统,并将继续保持这种引领计算机操作系统潮流的趋势。Linux操作系统以其稳定、可靠、高效、廉价以及开源等诸多的优点受到众多企事业用户的青睐。随着IBM、惠普以及Oracle等这些IT巨人们开始支持或开发他们自己的Linux操作系统,目前许多大中型企事业的计算机服务器正在越来越多地转向Linux操作系统。Linux操作系统在服务器领域的领先地位在可以预见的将来会越来越明显。随之而来的是对Linux系统管理和开发人员需求的不断增加,从而会吸引更多的人学习Linux。但是目前学习Linux的人数与学习微软系统或Java的人数相比,可以说还是少的可怜。造成这种现象的原因可能主要有以下几点:(1)Linux的门槛较高,对初学者来说有一定的难度。(2)Linux的学习时间较长,因此对于想快速致富的人没有吸引力。(3)与微软系统相比,Linux操作系统的安装比较复杂,所以实践环境的搭建比较 困难。本书就是要帮助初学者在比较短的时间内掌握Linux操作系统的使用,并能够管理和维护Linux系统,而且学习费用极为低廉(只是购买这本书的价钱)。通过与UNIX和Linux系统20多年的朝夕相处,我发现Linux系统其实与UNIX系统一样,是一个变化相当小的操作系统。许多常用的命令(如cp、rm、mkdir、ls)几乎保持20多年前的风采,这样的系统重新学习或培训(更新)的成本很低,也就是您一旦掌握了这一系统,许多功能可以一直使用许多年,甚至于伴随您的整个IT职业生涯。而不同的是,微软系统比较容易掌握,但是变化也非常快。通过自己对UNIX和Linux系统的学习和工作经历,我发现其实Linux系统很好玩,Linux的书也可以写得很精彩。本书是我从20多年曲折的IT工作经历中提炼出来的,是从一位IT从业人员的视角来尽可能地介绍在实际工作中常用的和相对较稳定的Linux操作系统的知识和技能。本书是一本Linux操作系统的实用教材。它几乎覆盖了Red Hat公司官方教程RH033和RH133的全部内容,但重点是放在实际工作能力的训练上。本书的内容和例题设计均由浅入深,为了消除初学者对计算机和操作系统教材常有的畏惧感,本书把那些难懂而且又不常用的内容尽量放在书的后面章节介绍。本书的第1个特点是:书中并不是对每条命令进行简单的介绍,而是把相关的命令有机地组合在一起来讲解。例如在执行一条Linux命令之前,先介绍使用什么命令来显示目前操作系统相关的信息;接下来再介绍怎样执行所学的Linux操作系统命令;最后还要介绍使用什么样的方法来验证所执行的命令是否真的成功等。而且,本书中几乎所有的例题都是完整的,读者只要照着书中的例子输入,一定会得到与书中所给的一样(或相似,因为每个操作系统的配置可能略有不同)的结果。本书的第2个特点是:为了消除初学者对Linux教材常有的畏惧感,本书并未追求学术上的完美,而是使用生动、简单的生活实例来解释复杂的计算机和操作系统的概念,避免用计算机的例子来解释计算机和操作系统的概念。本书的第3个特点是:它是自封闭的,即读者在阅读此书时不需要其他的参考书。由于以上的设计,本书对读者的计算机专业知识几乎是没有任何要求的,即本书可以作为读者学习计算机操作系统的起步教材。本书中许多概念和例题都给出了商业应用背景。许多例题是以场景或故事的形式出现的。不少例题和它们的解决方案是企业中的Linux系统管理员或开发人员在实际工作中可能经常遇到的。因此,很多例题不加修改或略加修改后便可应用于实际工作中。本书首先教读者安装Linux系统服务器,并在以后的章节中将其配置成一个与真实的生产环境相近的模拟环境。读者通过对这个与真实的生产系统相近的操作系统的操作,可以获得对真实的生产环境中操作系统进行维护和管理的实际知识与技能,从而成为真正的操作系统管理员或有经验的用户,而不是光能说不能干的“纸上操作系统管理员”。为了帮助读者,特别是没有从事过IT工作的读者了解商业公司和Linux从业人员的真实面貌,在书中设计了一个虚拟科研项目(繁育新品种狗的项目,简称狗项目)。利用这个狗项目的运作来帮助读者理解真正的Linux系统从业人员在商业公司中是如何工作的。本书的绝大多数操作都是在Oracle Enterprise Linux 4版本上(这个版本与Red Hat Enterprise Linux 4完全兼容)进行的,Oracle Enterprise Linux是一个免费的开源操作系统,可以在Oracle的官方网站上免费下载。为了方便读者的学习,在随书的DVD光盘上附有Oracle Enterprise Linux 4操作系统的安装光盘。之所以没有使用Red Hat Enterprise Linux 5,是因为RHEL 5要消耗更多的系统资源,而从学习Linux系统的角度来看,RHEL 4与RHEL 5几乎没什么差别。另外,目前生产系统使用RHEL 4要更多一些。之所以使用Oracle的Linux系统,是因为考虑到将来一些读者在学完Linux操作系统之后,可能要在Linux系统上安装Oracle数据库管理系统(目前有越来越多的Oracle数据库系统运行在Linux服务器上),而Oracle的Linux系统已经包括了安装Oracle所需的所有软件包和驱动程序,而且Oracle Enterprise Linux系统的默认安装已经考虑到了安装Oracle数据库管理系统的需要,因此将来读者在这一Linux操作系统上安装Oracle会非常容易。本书既可作为学校或培训机构及企业的Linux操作系统课程的教材,也可作为自学教材,还可作为所有想从事IT(也包括想了解IT)人员的起步教材。可能有读者在想我将来也不想从事Linux系统方面的工作,学习Linux系统有什么用?其实,您只要想从事IT工作,理解操作系统对您将来的职业生涯会有很大的帮助,因为所有的软件系统(包括数据库系统)都是运行在操作系统之上的。而UNIX和Linux操作系统对计算机操作系统理论和技术的贡献是业界所公认的,许多目前流行的操作系统技术,甚至数据库技术都是源自UNIX。其实,许多UNIX和Linux操作系统的知识还可以直接套用到其他应用系统上。记得20世纪90年代末期,我在新西兰参加为期3个月的Oracle的全职培训课程,一天,一位孟加拉的同学鬼使神差地将他的Oracle数据库搞乱了,而且Oracle此时几乎不允许他输入任何Oracle的命令。他请教老师,老师看了一会儿后说只能重装Oracle系统了,因为当时老师已经要下班了,所以他告诉这位同学明天上课时帮他重装Oracle系统。凭着直觉我觉得问题应该不至于严重到重装Oracle数据库系统,所以等老师走后,我问那位孟加拉的同学之前他做了哪些操作?他告诉我修改了一个Oracle的系统文件,具体的文件名称记不清了,只记得文件名中的几个字符。于是,我使用搜索命令找到了这个Oracle系统文件并改正了他的错误,最后重新启动Oracle系统,问题就解决了。其实,当时我对Oracle的理解要远远低于我的老师,但是由于我熟悉操作系统,所以把在管理和维护操作系统工作中掌握的方法原封不动地套用到了Oracle数据库系统的管理和维护工作上。在后来的Oracle学习和使用过程中,我发现Oracle系统的许多概念和技术与UNIX或Linux操作系统的几乎是如出一辙。因此,我学习Oracle系统时并未发现很困难。不只Oracle系统,其他的应用系统也有许多UNIX或Linux操作系统的影子。可能有读者问为什么它们都这么相像,答案是它们都是人设计和开发的。任何书(包括Linux的书),读者都应该能用人的思维方式来读懂。如果一本Linux的书,您读了几遍也读不懂,那么请不要读了。很可能这本书根本就不是给初学者写的,也可能人家根本就没想让您看懂(可能是保护知识产权吧),或者是作者自己也没搞懂。本书是按照认知学习的方式来编排的,每一章都附有大量完整的例子,而且这些例子都在不同的Linux操作系统上测试过,最后所有的例子都在RHEL 4或RHEL 5上运行过。读者可以通过在Linux系统上运行这些例子来加深对Linux操作系统的理解。另外,本书还附有大量的图片来帮助读者从不同的角度理解Linux操作系统。对一些很难用文字、图片和例题解释清楚的内容,本书还附有视频(在随书的DVD光盘上),以降低读者学习的难度。在这个光盘中还包括了一些比较冗长的例题的脚本文件,如果读者不想输入复杂和冗长的文件内容,则可以直接使用复制和粘贴的方法来轻松地使用这些文件中的内容。本书中所有的内容都是按循序渐进的方式安排的,即只要顺序阅读本书,即使是初学者也能读懂和掌握本书的内容。当人们看到或触摸到某一事物时,就会更加容易理解这一事物。计算机操作系统也是一样,它是一门实践性相当强的学科。如果想真正地掌握Linux操作系统,就必须不断地使用它。还需要尽可能得到足够的学习资源,例如,比较好的教材(文档、参考手册、用户指南、宝典等一般不能作为教材,因为它们不是按由浅入深的顺序编排的,而且涉及的内容太多。它们一般是为专业人员,而不是初学者学习设计的),最好还能得到一些其他的帮助(如从同事和朋友那),否则,您的学习将是异常艰难的,即使学完了也未必能干活,因为许多系统功能和操作的用法是上机用出来的,不是读书读出来的。专家都从菜鸟来,牛人(大虾)全靠熬出来。其实,所谓大虾或专家就是一件事干长了干久了,在一个行当里混久了就自然而然地混成了专家。我们的祖先之所以能从灵长类中脱颖而出进化成万物之灵的人类,就是因为学会了使用和发明工具。借助于Linux这一强大的操作系统(工具),相信即使那些只有很少,甚至没有IT背景的读者也会轻松、迅速地从IT领域的菜鸟进化成老鹰、大虾,再进化成专家、大师,最后在年逾古稀时进化成一代宗师(只要能够坚持下去)。参与本书的编写和资料整理的有王莹、万妍、王逸舟、牛晨、王威、程玉萍、万群柱、王静、范萍英、王洁英、范秀英、王超英、万新秋、王莉、黄力克、万洪英、万节柱、万如更、李菊、万晓轩、赵菁、张民生和杜蘅等。在此对他们的辛勤和出色的工作表示衷心的感谢。
内容概要
本书是一本Linux的入门教材,适合初级到中级的读者使用。本书使用生动而简单的生活实例来解释复杂的计算机和Linux操作系统概念,避免用计算机的例子来解释计算机和Linux操作系统的概念。读者可以在没有任何计算机专业知识基础的情况下阅读此书。
本书是一本Linux操作系统管理和应用的实用教材,虽然覆盖了Red
Hat公司官方教程RH033和RH133的几乎全部内容,但重点是放在实际工作能力的训练上。为此,每一章都附有大量完整的例子,而且这些例子都在不同Linux操作系统测试过,最后,所有的例子都在RHEL
4或RHEL
5上运行过。读者可以通过在Linux系统上运行这些例子来加深对Linux操作系统的理解。另外,本书还附有大量的图片和一些视频来帮助读者从不同的角度理解Linux操作系统。
作者简介
何明,Oracle高级讲师,Linux高级讲师,10年Oracle数据库技术服务与培训经验,同时也多次应邀进行Linux培训,先后为西门子、惠普、中国移动、中国网通、中信银行、神州数码、NEC等50余家大中型企业做过Oracle、Linux培训培训。
书籍目录
第0章 Linux的安装及相关配置
第1章 UNIX和Linux操作系统概述
第2章 运行Linux命令及获取帮助
第3章 目录和文件的浏览、管理及维护
第4章 不同系统之间传输文件及文件的浏览
第5章 Bash Shell简介
第6章 输入/输出和管道(|)及相关的命令
第7章 用户、群组和权限
第8章 用户、群组及权限的深入讨论
第9章 Linux文件系统及一些命令的深入探讨
第10章 正文处理命令及tar命令
第11章 Shell编程(sed、awk、grep的应用)
第12章 利用vi编辑器创建和编辑正文文件
第13章 配置Bash Shell和系统配置文件
第14章 系统安装注意事项及相关的概念
第15章 系统的初始化和服务
第16章 Linux内核模块及系统监控
第17章 软件包的管理
第18章 硬盘分区、格式化及文件系统的管理
第19章 Linux网络原理及基础设置
第20章 用户管理及维护
第21章 Linux高级文件系统管理
第22章 Linux系统排除故障方法简介
结束语
参考文献
章节摘录
第1章UNIX和Linux操作系统概述一谈到Linux就不得不谈到UNIX,因为Linux是从UNIX发展而来的。Linux本身也是UNIX系统大家族中的一员。毫无疑问UNIX和Linux在目前和可以预见的将来都是最有影响的计算机操作系统。UNIX和Linux系统被广泛地应用到大中企业级服务器和Web服务器上,它们已经成为了当今的主流操作系统。1.1 什么是UNIXUNIX是一个计算机操作系统,一个用来协调、管理和控制计算机硬件和软件资源的控制程序。UNIX操作系统是一个多用户和多任务操作系统:多用户表示在同一时刻可以有多个用户同时使用UNIX操作系统而且他们互不干扰;多任务表示任何用户在同一时间可以在UNIX操作系统上运行多个程序。与Windows操作系统不同的是UNIX主要的用户界面是命令行界面(UNIX也有图形界面),用户通过UNIX系统提供的命令来操作计算机系统。UNIX一共有大约250多个命令,但是常用的很少。Windows被称为用户友好的操作系统,因为普通用户很容易学习和使用。UNIX被称为程序员友好的操作系统,因为程序员可以方便地重新配置UNIX操作系统使之适应于自己的工作环境。UNIX系统不但可以使用在大中型计算机、小型计算机、工作站上,随着微型机的功能不断提高和Internet的发展,UNIX(特别是Linux)系统也越来越多地使用在微机上。UNIX得到企业的广泛应用的主要原因是该系统的功能强大、可靠性高、技术成熟、网络功能强大还有开放性好等特点。Linux被广泛地应用于Web服务器的另一个非常重要的原因是其成本非常低廉(应该是最低的),因为绝大多数Linux软件是免费的。1.2 UNIX的简要发展史UNIX操作系统的诞生本身就是一个传奇。事情可以追溯到20世纪60年代末期,当时美国麻省理工学院(MIT)、AT&T公司的贝尔(Bell)实验室和通用电气公司(GE)联合研发一个叫做Multics(Multiplexed Information and Computing System)的操作系统。Multics被设计运行在GE-645大型计算机上,由于系统目标过于庞大,糅合了太多的特性,许多专家把它称之为Monster(怪物),以至于该系统的研发人员都不知道最终该把它做成什么样。 到1969年,贝尔试验室已经对Multics不抱任何幻想了,最终撤出了投入该项目的所有资源。其中一个开发者,肯汤姆森(Ken Thompson)则继续为GE-645开发软件,并最终编写了一个太空旅行游戏,这个游戏模拟太阳系主要天体的运动,由玩家来指挥飞船,并试着在不同的行星和它们的卫星上登陆。游戏运行并不顺畅而且耗费昂贵——每次运行要花费约100美元。汤姆森后来找了一台没什么人用的DEC(数字仪器公司)的PDP-7小型计算机。在他的同事丹尼斯里奇(Dennis Ritchie)的帮助下,Thompson用PDP7的汇编语言重写了这个游戏,并使其在DEC PDP-7上运行起来。这次经历加上Multics项目的经验,促使Thompson开始了一个DEC PDP-7上的新操作系统项目。Thompson和Ritchie领导一组开发人员,开发了一个新的多任务操作系统。这个系统包括命令解释器和一些实用程序,这个项目称为UNICS(Uniplexd Information and Computing System),以表示它源自Multics的同时又比它的前身简单,后来这个名字被改为UNIX。最初的UNIX是用汇编语言编写的,一些应用是由叫做B语言的解释型语言和汇编语言混合编写的,Ritchie在1971年发明了C语言。1973年Thompson和Ritchie用C语言重写了UNIX,此举是极具大胆创新和革命意义的。用C语言编写的UNIX代码简洁紧凑、易移植、易读、易修改,为此后UNIX的发展奠定了坚实基础。在20世纪70年代,AT&T公司还没有被拆分,受当时反垄断法的限制,AT&T不能进入计算机操作系统市场。因此它以十分低廉甚至免费的许可将UNIX源码授权给学术机构做研究或教学之用,许多机构在此源码基础上加以扩充和改进,形成了所谓的UNIX“变种(Variations)”,这些变种反过来也促进了UNIX的发展,其中最著名的变种之一是由加州大学Berkeley分校开发的BSD产品。AT&T的这一举措本身也培养了大量的UNIX人才,为UNIX的普及铺平了道路。尽管UNIX一开始就得到了学术界的一片赞扬,但并未受到商界的重视。因为以往的经验告诉他们:“受到学术界高度好评的东西,多数是不实用的。”,但是这次商界依靠他们过往经验做出的“英明”判断却大错特错了。有人估计商界为此次错误判断付出了近10年的时间,也就是UNIX系统在商界的普及比应该的晚了近10年。由于AT&T公司注册了UNIX商标,因此后来其他公司开发出来的“UNIX操作系统”就不能再使用UNIX这个名称,如SUN公司的UNIX操作系统叫Solaris,而IBM的UNIX操作系统叫AIX。但是它们之间的差别是很微小的。有专家用“有心栽花花不开,无心插柳柳成荫”来形容UNIX的成功与发展。UNIX的成功也验证了“失败乃成功之母”这句名言。但是,随着岁月的流逝,人们已经渐渐地遗忘了促使UNIX成功的Multics和太空旅行游戏这两位失败的“妈”,而只记住了UINX这个成功的“孩”。
图书封面
图书标签Tags
无
评论、评分、阅读与下载