Linux探索第一幕传奇的开始
禠inux 探索》的目的是帮助您认识Linux 这个博大精深的操作系统产品,如果您带着想成为专家或者顶尖Linux 人物来看本文的话,您肯定要失望了。因为我自己也还是Linux 的初学者,怎么能够写出让您成为高手的文章?(笑)不过愿望总是好的,大家一起努力吧!加油!ok,现在请您看看您是属于下面哪种类型的人:
1 :根本不知道什么是Linux,但是知道Windows;
2 :可以拼写出Linux 这个单词,知道是一种和Windows 操作系统相关的产品但仅此而已;
3 :知道Linux 是干什么的,有什么用处,而且也准备学习Linux 了;
4 :您是一位准备考取RHCE证书的学生或者工作者,以便提高您的竞争力;
5 :您对于技术总是有一种向往,喜欢研究新的技术,接触新的领域;
如果您是属于上面五种中的任何一种,那么本系列文章适合您的阅读,您能从中得到许多乐趣。我不能保证您看完本系列文章之后,能够成为一个合格的RHCE (RHCE:Red Hat Certified Engineer.RedHat Linux 应用的一种水平认证,关于RHCE认证将有章节详细描述),但是能够保证您不会被别人对于Linux 的描述而被搞的头昏,呵呵。(一些高手希望唬人,总是喜欢拿技术术语来炫耀,我曾经也是,嘻)
写作风格:这个要首先说明的,我,方圆不是一个专业的技术写作人,写这篇系列文章的目的也是完全出自自己的爱好和兴趣,同时也是为了帮助更多喜爱 Linux 这个产品的朋友熟悉Linux ,本系列文章将不会是纯技术内容文章,里面也会伴杂着作者自己的一些心得体会和对软件产品以及当前软件产业的一些个人看法,希望这样的内容和行文风格广大的朋友们能够喜欢!谢谢。
文章内容:嗯,上段已经说过了,这篇系列文章将不会是纯技术的内容,但是仍将是以Linux 技术为主,这里我要强调的是本文讲述的Linux 操作将以RedHatLinux 这个产品为标准,我为什么要选择Red Hat 的产品呢?下面会讲到。
还有,作者不保证本系列文章会最终完成(谁能保证Linux 不会发布新版本?或者微软中止其前进的步伐?呵呵)。作者尽量保证本系列文章不会是写到哪里算哪里,这个请读者不要担心(其实这是作者我最担心的事情)。
Linux 包含着太多要讲的内容,其实Windows 也是一样,在下面的文章中读者将看到Windows 系统的复杂性。本系列文章的切入点假设读者具备一定的DOS知识(触类旁通学Linux 的命令),并且也是一名Windows 用户,这点作者不担心,因为作者敢肯定大部分读者都是在用Windows !
好了,作者的废话到此为止,读者朋友肯定已经等的不耐烦了吧?ok,下面大幕拉开,开始我们神奇的Linux 探索吧。
第 1 场 值得回忆的事情和人
电影《泰塔尼克号》的导演卡梅隆在奥斯卡奖的颁奖大会上接过最佳导演奖时相当狂妄地对着全场观众重复了男主角的一句台词:“我是世界之王”。狂妄吗?耗资两亿多美元,一举夺得11项奥斯卡大奖,赢得全球最高票房,难怪它的导演这般狂妄。但是卡梅隆其实心中非常清楚能够让他狂妄依赖的是银幕后面最先进的计算机技术!银幕后面才是真正的大主角,就是上百台图形工作站上所使用的那一套操作系统。它是谁?UNIX?还是Windows ?No,no,这个主角的名字远远没有UNIX或者Windows 来到那么响亮,但它却是创造了世界软件史上的一个传奇!它就是Linux !
Linux ?对!作者接触了很多Linux 的爱好者,聆听他们的学习经验,分享他们的学习的成果,一起和他们欢乐和开心。但是作者也发现一个有趣的现象:很多朋友把Linux 的发音读成“Lih-nucks ”,而有些朋友却又读成“Lee-nus ”,而更多的朋友却又读成“Lie-nucks ”,呵呵。是不是有点开始糊涂了呢?或许
您还没有发觉吧,我们喜爱的Linux 竟然还有这么的读音。那么究竟哪个是正确的发音呢?其实都对,第一个是大多数英语国家的朋友念的发音,第二个是LinusTorvalds(关于这位仁兄,我将在下面详细说说他的故事,现在请暂且记住他的名字吧)的芬兰式发音。而第三个则是亚洲地区人群喜欢的念法,不管他,反正随便您喜欢哪一个都可以,只要你不把Linux 念成“李奥纳多”或者“基努李维”就可以了。
让我们把时光切换到1991年吧。这一年是我们伟大又可爱的比尔。盖茨先生最得意的一年呢!说盖茨先生可爱是因为他把图形界面操作方式演绎的如此“卡娃以”,说他伟大当然是指他在60岁以后要把那么多的财产全部捐献给社会!绝非嘲讽,而是发自内心真诚的佩服和感动。就是这一刻的感动导致作者将在本系列文章中公平客观的描述Windows 和Linux 的区别,并且也借Windows 来带领读者走进Linux 的世界,很神奇,不是吗?
如果读者朋友中有考过当初上海举办的计算机中级考试的话,不知道你们还能否回忆起Windows 3.1 呢?对!1990年5 月推出的Windows 3.0 操作系统取得了非常可观的成绩,单是1990年就有400 万份拷贝售出,或许这个数字放在现在可能吸引不了多少眼球,但是在那时的确是一个非常可怖的数字!所以在1991年,Windows 的销售胜利继续持续着,并且,微软的Visual Basic又即将在5 月份推出。更让盖茨先生的得意的事是Windows 3.1 也快要面世了!另外,1991年微软的“视窗新技术”,也就是微软想靠这个技术来打败UNIX的Windows NT也即将完工!众所周知,微软设计开发NT的目的就是要创造一个企业级的操作系统!(题外话:时间过去了十来年了,微软离这个梦想似乎不是越来越近,而是越来越远了,这到底是什么原因造成的呢?)
1991年绝对是世界软件产业上值得留下记忆的一年!欧洲粒子物理研究所的一位英国物理家蒂姆。伯纳斯。李(Tim John Berners Lee)开发了第一个真正意义上的web server――httpd ,第一个客户端浏览器――World Wide Web,并且也开通了第一个WWW 网站 http://info.cern.ch. 随便说一句:这个家伙也曾开发过一个多任务的操作系统呢。
另外还有SUN 公司(太阳微系统公司)正在研究一种新编程语言Java. 关于Java的故事作者我就不多讲了,只要看看现在的情况就可以知道Java有多少火热。
以上这些事情当然逃不过微软的监视,因为这些都是有可能对微软造成直接经济损失的竞争对手!若干年过去了,事情的发展真是这样的。不过不管微软的触角有多少长,可以肯定的是,在这一年,微软无论如何也不可能怀疑到远在芬兰首都赫尔辛基(Helsinki)一个计算机专业二年级学生的卧室里,也有一项关键技术在逐渐成型!而且这项技术对于微软来说,构成的挑战绝对要胜过微软的其他战役!
赫尔辛基的季节差异及其显著,冬天黑暗寒冷,只有几个小时的日照时间。夏天则日长的厉害,因为这是由赫尔辛基的地理位置所造成的。靠近极北地区都是这样。这里再随便聊一下历史,芬兰曾经是瑞典的一个省,并且存在了几个世纪。芬兰只到1971年才独立的。并且芬兰还有一个雅称:千湖之国。水力资源丰富,有激流和瀑布1962处。海岸线曲折,全长1100公里,近海多岛屿。哦,我知道我该打住了,这不是历史书,更不是地理书。
许多朋友都认为Linus Torvalds是Linux 之父,是的。全世界的人们都是这样认为的。这也是无可争议的事实。但是作者仍然认为还有一个人要比Linus 更加来的伟大,因为如果没有这个人的倡议,恐怕我们可爱的小企鹅将胎死腹中呢。他就是理查德。斯托曼(Richard.M.Stallman)就是这个人在1975年成立了自由软件基金会(Free Software Foundation),建立了GNU 项目,这最终导致了Linux操作系统的诞生!理查德。斯托曼同时也是Emacs editor(UNIX系统下的编辑器),gcc multi-lingual compiler(UNIX系统下的C 语言编译器)和gbd debugger(程序调试器)的作者。天才的程序员!自由软件的斗士!大家都知道,自由对于我们来说显得要比金钱更加重要,不是吗?以此类推,软件当然也需要自由!不过请原谅作者我的冒昧,理查德。斯托曼那种坚定不移的追求崇高理想的精神对于大多数后来者来说显得太过于理想化而让太多的人畏难而退。不过作者我还是非常赞赏理查德。斯托曼的这种为软件自由奋斗一生的精神!
第 2 场 追忆似水年华
Linus 接触的第一台计算机是Commodore Vic-20. 这种型号的计算机在当时属于很先进的一种型号。中央处理器的速度是1 兆赫(MHz )。Linux 大概使用了五年,而Linus 自己也说过不喜欢Z80 芯片的构架,所以当Linus 准备升级自己机器的时候,他选择了一款特别古怪的芯片:Sinclair QL.这款芯片虽然有着明显的缺点,在很多方面看上去更像是一款玩具,但却是Linus 所喜欢的。因为这款芯片具有一个强大的功能:可以同时运行几个程序。这对Linus 来说,影响深远,使得Linus 从编写简单的程序开始,最终形成了Linux。
笔者不打算在这里详细阐述Linus 创造Linux 的过程,因为那些内容足可以写成一本大部头的书籍,而且笔者也相信恐怕没有多少人会对Linux 的历史感兴趣。嗯?您说你有兴趣?那好吧,欢迎您给笔者来信,我们共同探讨。
既然笔者上面已经说了,不想详细的阐述那段历史,那么就意味着笔者将要简单的介绍一下:一开始,Linus 使用的是Minix 系统(安德鲁.塔尼鲍默所设计,写Minix 的原因就是因为当时不满于UNIX源码不向学生开放),然而当Linus 熟悉了Minix 的一切构架后,开始渐渐不满于Minix 的错误的地方,比如:Minix 的优化做的不够好,浮点堆栈经常溢出之类的错误。另外,那个时候,Linus 也开始使用C 语言编程,这也让Linus 产生了想要开发一个“比Minix 更好的Minix ”的狂妄想法。
接下去,Linux 真的开始自己动手干了。一星期7 天,每天10个小时的编程。Linus 就这样连续了干了将近5 个月,终于编写出一个非常幼小的Linu