献给初学者:谈谈如何学习Linux操作系统(ZZ)

一、 选择适合自己的 Linux 发行版

谈到 Linux 的发行版本,太多了,可能谁也不能给出一个准确的数字,但是有一点是可以肯定的, Linux 正在变得越来越流行, 面对这么多的 Linux 发行版,打算从其他系统转到 Linux 系统来的初学者可能会感到困惑,即便是忠实的 Linux 用户也没有时间和精力去挨个尝试,因此初学者在学习 Linux 的之前,需要有一个明确的方向,选择一个适合自己的系统开始学习 Linux 至关重要!下面我们就分类介绍。

1. 初学者入门首选 – RedHat 系列

在学习 RedHat 系列 Linux 之前,首先要了解以下 RedHat Linux 各个发行版本之间的关系。

RedHat Linux

RedHat Linux 是 RedHat 最早发行的个人版本的 Linux , 其 1.0 版本于 1994 年 11 月 3 日发行。虽然其历史不及其它 Linux 发行版本悠久,但比起很多的 Linux 发行套件,RedHat 的历史悠久得多。自从 RedHat 9.0 版本发布后,RedHat 公司就不再开发桌面版的 Linux 发行套件,RedHat Linux 停止了开发,而将全部力量集中在服务器版的开发上,也就是 RedHat Enterprise Linux 版。 2004 年 4 月 30 日,RedHat 公司正式停止对 RedHat 9.0 版本的支持,标志著 RedHat Linux 的正式完结。原本的桌面版 RedHat Linux 发行套件则与来自开源社区的 Fedora 进行合并,成为 Fedora Core 发行版本。

目前 RedHat 分为两个系列:由 RedHat 公司提供收费技术支持和更新的 RedHat Enterprise Linux ,以及由社区开发的免费的 Fedora Core。

Fedora Core

Fedora Core(缩写为FC)被红帽公司定位为新技术的实验场地,许多新的技术都会在 FC 中检验,如果稳定的话,红帽公司则会考虑加入 RedHat Enterprise Linux 中。

Fedora Core 1 发布于 2003 年年末,而 FC 的定位便是桌面用户。FC提供了最新的软件包,同时,它的版本更新周期也非常短,仅 6 个月。由于版本更新频繁,性能和稳定性得不到保证,因此,一般在服务器上不推荐采用 Fedora Core。

其实可以这么认为,Fedora 就是 RedHat 发行 RedHat 企业版 Linux 的一个实验版本,以用户做测试,为 RedHat 企业版发布奠定基础。

RedHat Enterprise Linux

RedHat Enterprise Linux (缩写为RHEL,RedHat的企业版)。RedHat 现在主要做服务器版的 Linux 开发,在版本上注重了性能和稳定性以及对硬件的支持。 由于企业版操作系统的开发周期较长,注重性能、稳定性和服务端软件支持,因此版本更新相对较缓慢。

RedHat Enterprise Linux 又分为 4 个版本 Advanced Server(AS)、ES Workstation(WS)、Desktop,它们的差别不太大,只是功能方面的差别。

Centos

CentOS全名为”社区企业操作系统”(Community Enterprise Operating System)

  • CentOS产生的背景

RedHat 发布 RedHat 9.0 后,不再开发 RedHat 10,11 ,全面转向 RedHat enterprise Linux (简写为rhel)的开发,和以往不同的是,新的 RedHat 企业版要求用户先购买 lisence,RedHat 同时承诺确保产品的稳定性,安全性。rhel 二进制代码不再提供下载,而是作为 RedHat 服务的一部分,但源代码依然是开放的。在这种情况下,出现了centos、whitebox、dao 等等一批open source的企业版本,其中以 centos 最为活跃。

  • centos是如何制作产生的

CentOS 社区将 RedHat 的网站上的所有源代码下载下来,进行重新编译。由于 AS/ES/WS 是商业产品,因此,必须将所有 RedHat 的 Logo 和标识改成自己的 CentOS 标识。比如 将 AS 4.0 原版的 SRPM 源码编译后,换上 Centos 社区的 logo,这样就成为了 CentOS 4.0 。RedHat Enterprise Linux AS 4 Update 1 的源码编译后,就成为了CentOS 4.1 。AS 4 Update 2 的源码编译后,就成为了CentOS 4.2 等等。CentOS就是这样产生的。

因此,可以说 CentOS 就是 RedHat 的 AS/ES/WS 的免费版本,使用 centos 可以获得与 RedHat 企业级 Linux 一样的功能和性能。同时centos还提供免费的长期升级和更新服务。因此, 在众多的RHEL的克隆版本中,CentOS是很出众很优秀的。

虽然说centos是RHEL的克隆,但并不是一模一样,所说的克隆是具有 100 %的互换性。对于centos其实不尽相同,RHEL的软件在CentOS上面不能保证 100 %的正常工作。

在了解了 RedHat 系列各个版本的差异后。其实我们就找到了为何选择 RedHat Linux 作为初学者入门学习的理由了。

  • 首先: 在国内,乃至是全世界的 Linux 用户最熟悉、最耳闻能详的发行版肯定就是RedHat了。因为RedHat是 Linux 界的”老大”,美国RedHat公司发布的RedHat Linux 是商业上运作最成功的一个 Linux 发行套件,因此RedHat公司发行的 Linux 值得信任, RedHat Linux 的功能和性能也毋庸置疑。
  • 其次: RedHat现在拥有庞大的网络用户群体,网络 Linux 资源基本 90%都是基于RedHat Linux 的,如果您在学习过程中遇到任何问题,随便搜索网络,就有成千上万的答案展示在你面前。
  • 第三: RedHat Linux 系列版本相互补充,相得益彰:如果你第一次接触 Linux ,那么建议你先安装Fedora Core, Fedora Core安装简单,对硬件支持很好,界面也很华丽,同时也可以体验RedHat Linux 的最新功能;如果你对 Linux 有一定的了解,需要深入学习,建议你使用CENTOS系统;如果你是在做 Linux 企业级应用,建议你使用 RHEL版本
  • 最后: RedHat应用范围广,具有典型性和代表性,很多系统(例如红旗redflag,中标 Linux ,oracle发布的Enterprise Linux )都是以RedHat Linux 为基准的,因而,可以说学会了RedHat Linux ,就能触类旁通,其它类似的 Linux 系统也能很快掌握;现在周围学习 Linux 的一般也都是以RedHat Linux 为主,这样交流方便,学习中出现问题,更容易得到解决。同时RedHat Linux 的安装和使用也是最简单的,因此,基本上不会在装系统上浪费过多时间。

2 企业级应用首选 – suse Linux

企业级的应用追求的是可靠性和稳定性,这就要求构建企业级应用的系统平台具有高可靠性和高稳定性。企业级 Linux 的发行版本就是解决的这个问题。

SUSE 是德国最著名的 Linux 发行版,在全世界范围中也享有很高的声誉。 2003 年 11 月 4 日,Novell公司对外宣布将收购SuSE。 2004 年 1 月该收购顺利完成,Novell同时将SuSE正式命名为SuSE Linux 。 Novell公司收购suse,加速了suse Linux 的发展,suse Linux 无论在桌面市场还是服务器市场都更加专业化,据不完全统计,suse Linux 现在欧洲 Linux 市场占有将近 80 %的份额,大部分关键性应用都是建立在suse Linux 下。由于suse 进入中国时间较短,同时加上suse在中国的营销模式短时间不能被国内接受,因此现在suse在中国的市场份额还不是很大,但是这些并不影响suse Linux 高可靠与稳定性的事实,随着suse的发展,相信suse Linux 在中国的应用会越来越多。

3 游戏娱乐首选 – Ubuntu Linux

说到 Linux 桌面市场, Ubuntu Linux 几乎占据了桌面 Linux 的半壁江山, Ubuntu Linux 主打 Linux 桌面之最,界面美观,简易而不失华丽,如果想在 Linux 下进行娱乐休闲,Ubuntu Linux 绝对是首选。

Ubuntu 的安装非常的人性化,只须按照提示一步一步进行,安装与Windows一样简单!并且,Ubuntu被誉为对硬件支持最好最全面的 Linux 发行版之一,许多在其他发行版上无法使用,或者在默认配置时无法使用的硬件,在Ubuntu上都能轻松搞定。因此你可以像安装Windows一样轻松的安装Ubuntu。尽情体验Ubuntu Linux 带来的乐趣。

4 Linux 作为服务器是发展趋势

在上面的章节中主要介绍了几种最常见的 Linux 发行版本,其实 Linux 的发行版本还有很多很多,比较常见的还有Debian GNU/ Linux , Mandriva, Gentoo,Slackware, Knoppix,MEPIS, Xandros,国产的红旗redflag,中标 Linux 等等,这里不再一一介绍,其实纵观 Linux 的各个发行版, Linux 发行版本无非是朝着这两个方面而来,一是服务器市场,而是桌面市场。

以Ubuntu Linux 为代表的 Linux 发行版走的是桌面市场路线,虽然它们给用户带来很多惊喜,更新也很快,但是由于桌面市场有着Windows这样强劲的对手, Linux 桌面发展举步维艰。

以RedHat系列版本为代表的 Linux 发行版现在主要面向企业级 Linux 的服务器市场,重点开发 Linux 的企业版本,suse Linux 同样主要力量也集中在开发企业级 Linux 上面,其它的例如国产RedHat flag,中标 Linux 等都重点投入在了 Linux 服务器市场。 Linux 两大发布厂商现在都走了 Linux 服务器市场的路线,可见 Linux 作为企业级服务器有着巨大的发展前途,据权威部门统计, Linux 在服务器市场的占有率每年都在持续上升。

其实很多 Linux 的应用都是针对 Linux 服务器的,本书的讲述也是主要针对 Linux 在服务器下的各种应用展开的。

二、 养成良好的 Linux 操作习惯

当你进入 Linux 的学习之后,请不要用 Windows 的工作方式来思考问题,因为它们之间确实有很大的不同,比如它们之间的内存管理机制,进程运行机制等都有很大不同,这些异同点将在下面章节陆续讲述,因此,抛开Windows那种思维,用全新的理念尝试去挖掘 Linux 身上特有的潜质,对初学者至关重要。

1. 一定要习惯命令行方式

Linux 是一个命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平,命令行方式的操作永远是不会变的, Linux 命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作都离不开命令行。虽然 Linux 也有桌面系统,但是 X-window 也只是运行在命令行模式下的一个应用程序。

因此,可以这么说,命令是学习 Linux 系统的基础,学习 Linux ,很大程度上就是学习命令,很多 Linux 高手其实都是玩儿命令很熟的人。

也许对于刚刚从 Windows 系统进入 Linux 学习的初学者来说,立刻进入枯燥的命令学习,实在太难,但是你一旦学会就爱不释手。因为它的功能实在太强大了。您未来的学习之路也将会以指数增加的方式增长。

2. 理论结合实践

有很多初学者都会遇到这么一个问题,说到系统的每个命令,都很熟悉,但是在系统出现故障的时候,面对出现问题的. Linux 系统无从下手了。不知道在什么时候 用什么命令去检查系统,这是很多 Linux 新手最无奈的事情了。说到底,就是学习的理论没有很好的与系统实际操作相结合。

很多 Linux 知识,例如每个命令的参数含义,在书本上说的很清楚,看起来也很容易理解,但是一旦组合起来使用,却并不是那么容易,没有多次的动手练习,其中的技巧是无法掌握的。

人类大脑不像计算机的硬盘一样,除非硬盘坏掉或者硬盘被格式化,否则储存的资料将永远而且时刻的记忆在硬盘中。而在人类记忆的曲线中,必须要不断的重复练习才会将一件事情记得比较熟。同样的,学习 Linux 也一样,如果无法经常学习的话,学了后面的,忘记了前面的;还有些 Linux 初学者也学了很多 Linux 知识,但是由于长期不用,导致学过的东西在很短的时间内又忘记了,久而久之,失去了学习的信心。

可见,增加自己 Linux 的实战技能,只有勤于动手,勇于实践,这也是学好 Linux 的根本。

3. 学会使用 Linux 联机帮助

各个 Linux 的发行版本的技术支持时间都较短,这对于 Linux 初学者来说往往是不够的, 其实当安装了一个完整的 Linux 系统后其中已经包含了一个强大的帮助,只是可能你还没有发现和使用它们的技巧。例如,对于一个 Linux tar命令的使用,你不是很熟悉,那么只要你在命令行输入man tar, 就会得到 tar 的详细说明和用法;

主流的 Linux 发行版都自带了非常详细的帮助文档,包括使用说明和 FAQ,从系统的安装到系统的维护,再到系统安全,针对不同层次人群的详尽文档。仔细阅读文档后 60 %的问题都可在这里得到解决。

4. 学会独立思考问题,独立解决问题

遇到问题,首先想到的应该是如何自己去解决这个问题,解决方式很多,看书查资料,网络搜索引擎,技术论坛等等,通过这几种方式, 90 %的问题都能得到解决,通过这种方式一方面锻炼了自己独立解决问题的能力。另一方面技术上也能得到快速提高。

如果通过如上方式实在解决不了的话,可以向人询问,得到答案后要考虑为何这么做,然后做笔记记录解决过程。最忌讳的方式是只要遇到问题,就去问人,虽然这样可能会很快解决问题,但是长久下去遇到问题就会依赖别人,技术上也不会进步。

5. 学习专业英语

如果你想深入学习 Linux ,一定要尝试去看英文文档。因为,技术性的东西写的最好的,最全面的文档都是英语写的,最先发布的高新技术也都是用英语写的。即便是非英语国家的人发布技术文档,也都首先翻译成英语在国际学术杂志和网络上发表。安装一个新的软件时先看 README,再看 INSTALL,然后看 FAQ,最后才动手安装,这样遇到问题就知道为什么。因此,学习一点专业的英语是很有必要的。

6. Linux 学习基本步骤

到这里,我们总结一下 Linux 的学习路线图,给各位初学者作为参考。

  • 初级阶段:
    • 1. 命令是必须要学的, Linux 常用的命令大概在 80 个左右,这些常用命令一定要熟练掌握。
    • 2. 掌握 Linux 软件包的常用安装方法,例如源码安装,rpm方式安装等等。
    • 3. 学习安装设备驱动程序(比如网卡、显卡驱动)
    • 4. 熟悉 Grub/Lilo 引导程序及简单的修复操作。
    • 5. 熟悉 Linux 文件系统和目录结构以及 Linux 基本运行原理。
    • 6. 掌握 vi,gcc,gdb 等常用编辑器,编译器,调试器。
    • 7. 理解 shell别名、管道、I/O重定向、输入和输出以及 shell 简单脚本编程。
    • 8. 学习 Linux 环境下的网络基本组建。
  • 高级阶段:
    • 1:尝试阅读 Linux 内核源码:
      这需要具有一定的C、C++语言基础,因为C、C++是 Linux /Unix的核心语言,系统代码都是C写的。
    • 2:尝试编译安装和调试自己的 Linux 内核:
      在阅读源码了解了 Linux 底层的运行原理后,完全可以编译一个适合自己的 Linux 系统来。
    • 3:深入学习 shell, perl,cgi 等脚本语言:
      这些脚本语言在 Linux 下非常强大,它们能完成你想做的任何事情,熟练掌握这些语言,可以让你在 Linux 系统下游刃有余,如鱼得水。
    • 4:构建企业级 Linux 高可用集群系统:
      Linux 下有很多开源免费的集群软件,利用这些免费的集群软件完全可以构建出与商业 Unix 系统想媲美的集群系统来。

三、用虚拟机软件学习 Linux

3.1 什么是虚拟机软件

虚拟机软件可以在一台电脑上模拟出来若干台PC电脑,每台PC可以运行单独的操作系统而互不干扰,可以实现一台电脑”同时”运行几个操作系统,还可以将这几个操作系统连成一个网络。

pic 1

图1:安装了 3 台虚拟机的 Windows 系统

比如图 1 中,是在一台电脑上安装了 Windows 2000 Server,再在 Win 2000 server 上安装虚拟机软件 VMWare,利用 VMWare 模拟出来 3 台 PC,在这 3 台 PC上分别运行 RedHat Linux 、Win 2000 和 Solaris 9 for x 86 操作系统。这 4 个操作系统同时在一台电脑上运行,互不干扰,并且同在一个局域网内。

听了上面的基本介绍,你可能知道虚拟机软件到底是做什么用的了。那么好,我们继续做更深入的介绍。

目前PC上的虚拟机软件最常用的有下述两个:
1. VMWare 网址为:http://www.vmware.com
2. Virtual PC 网址为:http://www.connectix.com

3.2 使用虚拟机软件的好处

1、 如果要在一台电脑上安装 Linux 和 Windows 系统,不用虚拟机的话,有两个办法:一是装多个硬盘,每个硬盘装一个操作系统。这个方法比较昂贵。二是在一个硬盘上装双系统。这个方法不够安全,因为系统盘的 MBR 是操作系统的必争之地Windows更是霸道,每次重新安装系统都要重写系统的 MBR,这样的话搞不好会几个操作系统同归于尽。而使用虚拟机软件既省钱又安全,因此,对于新手来说,利用虚拟机学习 Linux 简直是再好不过了。

2、在虚拟机上安装 Linux 系统,你不用担心会格式化掉自己的硬盘,你甚至可以随意的对虚拟系统进行任何的设置和更改操作,你可以格式化虚拟系统硬盘,重新分区虚拟系统硬盘等等, 因为虚拟机是你真实系统上运行的软件,对虚拟机系统的任何操作都是对软件的操作。

3、利用虚拟机模拟出来的 Linux 系统和真实的 Linux 系统是一摸一样的,现在各个公司专门的 Linux 服务器是不会让新手随意去动的,而供测试的 Linux 服务器一般又很紧缺,在自己电脑上安装虚拟 Linux 系统,可以随意的学习测试,而不受任何环境影响。

3.3 虚拟机的运行环境和硬件需求

1:运行环境

  • VMWare可运行在Windows(WinNT以上)和 Linux 操作系统上。
  • Virtaul PC可运行在Windows(Win 98 以上)和MacOS上。
    注:运行虚拟机软件的操作系统叫Host OS,在虚拟机里运行的操作系统叫Guest OS。

2:硬件需求

虚拟机是将两台以上电脑任务集成到一台电脑上来,因此对硬件要求比较高,主要是内存,硬盘和 cpu;内存要足够大,因为每个虚拟机都会占用一定的内存资源,内存的总大小等于各个虚拟系统的总和。可喜的是,现在内存已经很便宜了,内存就不是问题了。同样,硬盘空间也是每个虚拟机都要占用的,cpu 现在都到了多核阶段,也不是问题。

3.4 虚拟机的安装与使用

1.VMware虚拟机概述

上面章节讲到,虚拟机软件有 VMWare 和 Virtual PC,它们各有优缺点,其中 VMWare 在全球占领了 80 %的市场份额,因此我们也主要讲述VMWare的安装与使用。

VMware 是提供一套虚拟机解决方案的软件,主要产品分为如下 3 个:

  • VMware-ESX-Server:这个版本并不需要操作系统的支持。它本身就是一个操作系统,用来管理硬件资源。所有的系统都安装在它的上面。带有远程web管理和客户端管理功能。
  • VMware- GSX-Server:这个版本就要安装在一个操作系统下了,这个操作系统叫做 HOST OS。 这个 HOST OS可以是 Windows 2000 Server 以上的 Windows 系统或者是 Linux (官方支持列表中只有 RH,SUSE,Mandrake 很少的几种),和 VMware-ESX- Server 一样带有远程web管理和客户端管理功能。
  • VMware-WorkStation:这个版本和 VMware-GSX-Server 版本的机构是一样的。也是要安装在一个操作系统下,对操作系统的要求也是 Windows 2000 以上或者 Linux 。和 Vmware 的区别就是没有 web 远程管理和客户端管理。
  • Vmware GSX Server 不支持虚拟机双 CPU,而且已经停止开发新版本, Vmware Server 是 Vmware 公司决定将 GSX Server免费后,重修代码后发布的,目前有版本更新。因此我们选择免费的 GSX Server 作为讲述的版本。

2.虚拟机软件的安装

我们在 Windows 下安装 Windows 版本的 VMware server,然后在 VMware server 上安装 Linux 操作系统。虚拟机软件的安装很简单,只需按照 Windows 常规方法安装即可完成,这里不在讲述。

四、 Linux 学习资源

4.1 网络资源,搜索引擎,论坛

Linux 的开源特性决定了 Linux 知识的开放性和充足性。当今, Linux 非常流行, Linux 学习资源也非常之多,书店到处可见 Linux 方面的书籍,选择一本适合自己的慢慢去学习,再好不过。

除了书本的知识,网络里也有无限的 Linux 学习资源,各大 Linux 技术门户, Linux 社区论坛,都是学习 Linux 的好地方;在这里,有一批无私奉献的 Linux 狂热爱好者,他们把自己的学习经验和学习总结无偿的发布出来;他们每天在 Linux 论坛的各个角落热情的回答广大网友提出的问题;他们不求回报,因为他们热爱技术,热爱 Linux 。

遇到学习问题,或者要查找某些 Linux 资料,搜索引擎绝对是第一选择,例如 google.cn 和 baidu.com, 99% 的技术资料都能在这里搜到。查找 Linux 资料,不要错过这两个优秀的搜索引擎。

4.2 有本书在身边

网络中有很多 Linux 学习资源,丰富的学习资源,虽然给我们学习提供了很好的便捷性,但是也造成了我们学习的盲目性,学习资源的丰富性,引出的另一个问题是资源的混杂,刚入门的新手感觉无从下手,可能今天看了一点内存管理的资料,明天学习了一点磁盘管理的资料,并且总是感觉自己理解了也学会了,但是就是无法灵活的掌握,究其原因,就是没有系统的学习 Linux 。

因此,选择一本好书在自己身边是必须的,一本好书应该是由浅入深,有点及线,有线及面的介绍知识,选择一本好书,同时结合网络资源进行循序渐进的学习,此时,你的学习就不会再有空洞感,进步也会飞快。你会感觉学习 Linux 是一件很快乐的事情。

五、Linux 的应用领域

很多新手都有一个很疑惑的问题:我学习 Linux 系统,能在上面干什么呢,或者说 Linux 系统具体能做什么,有这样的疑问,也很正常,但是随着对 Linux 了解的加深,这些疑问就会慢慢消除,下面具体讲述下 Linux 操作系统的应用领域(也就是 Linux 到底是干啥的)。

1.服务器领域

现在的服务器市场以 Linux、Unix、Windows 三分天下,Linux 可谓后起之秀,从产生发展到现在,在服务器应用领域节节攀升,并且每年增长势头迅猛。

Linux 作为企业级服务器应用广泛,利用 Linux 系统可以使企业构架 WWW 服务器、代理服务器、邮件服务器、DNS服务器、透明网关、路由器等等,不但给企业降低了运营成本,同时获得了 Linux 系统带来的高稳定性和高可靠性。

随着 Linux 在服务器领域的广泛应用,这几年来,Linux 已经悄悄进入政府、教育、银行、石油等行业,同时各大 Unix 厂商也推出在 Unix 平台支持 Linux 操作系统,例如 IBM AIX。这一切表明, Linux 在服务器市场前景光明,相信在不久的将来,Linux 会渗透到社会各个领域。

2.嵌入式 Linux 系统

由于 Linux 系统开放源码,功能强大、可靠、灵活而且具有伸缩性,再加上它广泛支持大量的微处理器体系结构、硬件设备、图形支持和通信协议,因此,在嵌入式应用的领域里,从因特网设备到专用的控制系统, Linux 操作系统的前景都很光明的。

例如,诺基亚和摩托罗拉公司都推出了 Linux 平台的手机。

reference

本文出处:http://ixdba.blog.51cto.com/2895551/569329

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注