小白该如何学习Linux操作系统
献给初学者:小白该如何学习Linux操作系统
一、 选择适合自己的Linux发行版
谈到Linux的发行版别,太多了,可能谁也不能给出一个准确的数字,但是有一点是能够必定的,Linux正在变得越来越盛行, 面临这么多的Linux 发行版,打算从别的体系转到Linux体系来的初学者可能会感到迷惑,即便是忠诚的 Linux 用户也没有时刻和精力去挨个测验,因而初学者在学习Linux的之前,需求有一个清晰的方向,挑选一个合适自个的体系开端学习Linux至关重要!下面咱们就分类介绍。
1.1 初学者入门首选-redhat系列
在学习redhat系列Linux之前,首先要了解以下redhat Linux各个发行版本之间的关系。
1.Red Hat Linux
Red Hat Linux是redhat最早发行的个人版本的Linux, 其1.0版本于1994年11月3日发行。虽然其历史不及其它Linux发行版本悠久,但比起很多的Linux发行套件,Red Hat 的历史悠久得多。自从Red Hat 9.0版本发布后,RedHat 公司就不再开发桌面版的 Linux发行套件,Red Hat Linux停止了开发,而将全部力量集中在服务器版的开发上,也就是 Red Hat Enterprise Linux 版。2004年4月30日,Red Hat公司正式停止对Red Hat 9.0版本的支持,标志著Red Hat Linux的正式完结。原本的桌面版Red Hat Linux发行套件则与来自开源社区的 Fedora进行合并,成为 Fedora Core 发行版本。
目前Red Hat分为两个系列:由Red Hat公司提供收费技术支持和更新的Red Hat Enterprise Linux,以及由社区开发的免费的Fedora Core。
2.Fedora Core
Fedora Core(缩写为FC)被红帽公司定位为新技术的实验场地,许多新的技术都会在 FC 中检验,如果稳定的话红帽公司则会考虑加入 Red Hat Enterprise Linux 中。
Fedora Core 1发布于2003年年末,而FC的定位便是桌面用户。FC提供了最新的软件包,同时,它的版本更新周期也非常短,仅6个月。由于版本更新频繁,性能和稳定性得不到保证,因此,一般在服务器上不推荐采用Fedora Core。
其实可以这么认为,Fedora就是Red Hat发行Red Hat企业版Linux的一个实验版本,以用户做测试,为Red Hat企业版发布奠定基础。
3.Red Hat Enterprise Linux
Red Hat Enterprise Linux(缩写为RHEL,Red Hat的企业版)。Red Hat现在主要做服务器版的Linux开发,在版本上注重了性能和稳定性以及对硬件的支持。 由于企业版操作系统的开发周期较长,注重性能、稳定性和服务端软件支持,因此版本更新相对较缓慢。
RedHat Enterprise Linux又分为4个版本 Advanced Server(AS)、ES Workstation(WS)、Desktop,它们的差别不太大,只是功能方面的差别。
4.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标识。比如将AS4.0原版的SRPM源码编译后,换上Centos社区的logo,这样就成为了CentOS 4.0。Redhat Enterprise Linux AS4 Update1的源码编译后,就成为了CentOS4.1。AS4 Update2的源码编译后,就成为了CentOS4.2等等。CentOS就是这样产生的。
因此,可以说CentOS就是Redhat的AS/ES/WS的免费版本,使用centos可以获得与redhat 企业级Linux一样的功能和性能。同时centos还提供免费的长期升级和更新服务。因此, 在众多的RHEL的克隆版本中,CentOS是很出众很优秀的。
虽然说centos是RHEL的克隆,但并不是一模一样,所说的克隆是具有100%的互换性。对于centos其实不尽相同,RHEL的软件在CentOS上面不能保证100%的正常工作。
在了解了Redhat系列各个版本的差异后。其实我们就找到了为何选择Redhat Linux作为初学者入门学习的理由了。
首先:在国内,乃至是全世界的Linux用户最熟悉、最耳闻能详的发行版肯定就是Red Hat了。因为Red Hat是Linux界的“老大”,美国Red Hat公司发布的Red Hat Linux是商业上运作最成功的一个Linux发行套件,因此Red Hat公司发行的Linux值得信任, Red Hat Linux的功能和性能也毋庸置疑。
其次:Red hat现在拥有庞大的网络用户群体,网络Linux资源基本90%都是基于Redhat Linux的,如果您在学习过程中遇到任何问题,随便搜索网络,就有成千上万的答案展示在你面前。
第三: Red Hat Linux系列版本相互补充,相得益彰:如果你第一次接触Linux,那么建议你先安装Fedora Core, Fedora Core安装简单,对硬件支持很好,界面也很华丽,同时也可以体验Redhat Linux的最新功能;如果你对Linux有一定的了解,需要深入学习,建议你使用CENTOS系统;如果你是在做Linux企业级应用,建议你使用RHEL版本。
最后: redhat应用范围广,具有典型性和代表性,很多系统(例如红旗redflag,中标Linux,Oracle发布的Enterprise Linux )都是以Red Hat Linux为基准的,因而,可以说学会了Red Hat Linux,就能触类旁通,其它类似的Linux系统也能很快掌握; 现在周围学习Linux的一般也都是以redhat Linux为主,这样交流方便,学习中出现问题,更容易得到解决。同时redhat Linux的安装和使用也是最简单的,因此,基本上不会在”装系统”上浪费过多时间。
1.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在中国的应用会越来越多。
1.3 游戏娱乐首选-Ubuntu Linux
说到Linux桌面市场, Ubuntu Linux几乎占据了桌面Linux的半壁江山, Ubuntu Linux主打Linux桌面之最,界面美观, 简易而不失华丽,如果想在Linux下进行娱乐休闲,Ubuntu Linux绝对是首选。
Ubuntu 的安装非常的人性化,只须按照提示一步一步进行,安装与Windows一样简单!并且,Ubuntu被誉为对硬件支持最好最全面的Linux 发行版之一,许多在其他发行版上无法使用,或者在默认配置时无法使用的硬件,在Ubuntu上都能轻松搞定。因此你可以像安装windows一样轻松的安装Ubuntu。尽情体验Ubuntu Linux带来的乐趣。
1.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身上特有的潜质,对初学者至关重要。
2.1 一定要习惯命令行方式
Linux是一个命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平,命令行方式的操作永远是不会变的,Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作都离不开命令行。虽然Linux也有桌面系统,但是X-window也只是运行在命令行模式下的一个应用程序。
因此,可以这么说,命令是学习Linux系统的基础,学习Linux,很大程度上就是学习命令,很多Linux高手其实都是玩儿命令很熟的人。
也许对于刚刚从windows系统进入Linux学习的初学者来说,立刻进入枯燥的命令学习,实在太难,但是你一旦学会就爱不释手。因为它的功能实在太强大了。您未来的学习之路也将会以指数增加的方式增长。
2.2 理论结合实践
有很多初学者都会遇到这么一个问题,说到系统的每个命令,都很熟悉,但是在系统出现故障的时候,面对出现问题的Linux系统无从下手了。不知道在什么时候用什么命令去检查系统,这是很多Linux新手最无奈的事情了。说到底,就是学习的理论没有很好的与系统实际操作相结合。
很多Linux知识,例如每个命令的参数含义,在书本上说的很清楚,看起来也很容易理解,但是一旦组合起来使用,却并不是那么容易,没有多次的动手练习,其中的技巧是无法掌握的。
人类大脑不像计算机的硬盘一样,除非硬盘坏掉或者硬盘被格式化,否则储存的资料将永远而且时刻的记忆在硬盘中。而在人类记忆的曲线中,必须要不断的重复练习才会将一件事情记得比较熟。同样的,学习 Linux 也一样,如果无法经常学习的话,学了后面的,忘记了前面的;还有些Linux初学者也学了很多Linux知识,但是由于长期不用,导致学过的东西在很短的时间内又忘记了,久而久之,失去了学习的信心。
可见,增加自己Linux 的实战技能,只有勤于动手,勇于实践,这也是学好Linux的根本。
2.3 学会使用Linux联机帮助
各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者来说往往是不够的, 其实当安装了一个完整的Linux系统后其中已经包含了一个强大的帮助,只是可能你还没有发现和使用它们的技巧。例如,对于一个Linux tar命令的使用,你不是很熟悉,那么只要你在命令行输入man tar, 就会得到tar的详细说明和用法;
主流的Linux发行版都自带了非常详细的帮助文档,包括使用说明和FAQ,从系统的安装到系统的维护,再到系统安全,针对不同层次人群的详尽文档。仔细阅读文档后60%的问题都可在这里得到解决。
2.4 学会独立思考问题,独立解决问题
遇到问题,首先想到的应该是如何自己去解决这个问题,解决方式很多,看书查资料,网络搜索引擎,技术论坛等等,通过这几种方式,90%的问题都能得到解决,通过这种方式一方面锻炼了自己独立解决问题的能力。另一方面技术上也能得到快速提高。
如果通过如上方式实在解决不了的话,可以向人询问,得到答案后要考虑为何这么做,然后做笔记记录解决过程。最忌讳的方式是只要遇到问题,就去问人,虽然这样可能会很快解决问题,但是长久下去遇到问题就会依赖别人,技术上也不会进步。
2.5 学习专业英语
如果你想深入学习Linux,一定要尝试去看英文文档。因为,技术性的东西写的最好的,最全面的文档都是英语写的,最先发布的高新技术也都是用英语写的。即便是非英语国家的人发布技术文档,也都首先翻译成英语在国际学术杂志和网络上发表。安装一个新的软件时先看README,再看INSTALL,然后看FAQ,最后才动手安装,这样遇到问题就知道为什么。因此,学习一点专业的英语是很有必要的。
2.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学习-1群 485374463
马哥教育-Linux学习-2群 339184057