学习Linux也有一阵子了,这过程当中磕磕撞撞的,遇到了问题,也解决了一些问题,学习的路子是曲折的,想总结点啥的,让刚刚学习Linux的不会望而生畏。linux
技术的价值不在于这个技术有多么高超,而在于技术自己给咱们带来什么价值,因此不少时候咱们学习一个技术,不能盲目学,是为了使用这个技术,知道这个技术的使用场景,知道这个技术带来的便利性,咱们才决定要深刻学习。web
那咱们干吗要学习Linux?Linux能给咱们带来什么价值呢,这样咱们的学习才不会麻木。shell
Linux给个人感受就是稳定,免费,性能好。数据库
稳定,体如今哪里?咱们使用PC机,安装的操做系统通常是windows xp,windows 7等,这些操做系统,若是你开一个星期,你的机器就要重启了,由于电脑会变的很慢,可是若是你用Linux,通常能够撑一个月不用重启,当前若是机器比较繁忙就例外了。这里我说的是我的PC,而不少互联网公司使用的是廉价的PC Server,目前价格是每台2-3W,PC Server和我的PC本质上没什么区别,同样的x86处理器架构,同样都是复杂指令集,只是PC Server的稳定性比我的PC高不少,性能和内存也比较高,可是代价就是开机比较久,通常要5分钟,声音也特别吵,家用买PC Server简直无法用。通常PC Server安装Linux能够维持一年不重启。编程
免费,这个你们应该清楚,windows操做系统不是免费的,尤为是对企业来讲,若是每台服务器都安装windows,那企业要交的操做系统的费用很可观,尤为对互联网公司来讲,拥有众多的PC Server,分布全国各地,要交windows的保护费,简直是要命。而在中国,通常企业都是象征性买十几个license,交点保护费也过关了(windows有后门,不找家用电脑麻烦,企业会被找麻烦),可是若是企业比较大,效益好,机器多,十几个license也不够保护费,因此使用免费的Linux是不错的选择。ubuntu
性能上,Linux作了不少优化,例如Linux会把空闲的内存缓存文件目录,文件内容,能不用虚拟内存就不用,可是windows必定会用虚拟内存,即便内存足够。windows
软件上,Linux有庞大的开源软件支持,web服务器,缓存服务器,数据库服务器,这些都是免费的选择,都是稳定成熟的产品。centos
然而本人以为Linux在服务器领域确实很强大,可是在我的电脑上,我始终以为很差用,目前仍是windows好用,即便是目前我的桌面作的最好的Linux,Ubuntu也不如windows,windows拥有良好的用户体验,操做便利,我的软件支持(例如网银)。缓存
学习Linux的第一件事情,就是要选择一个Linux的发行版本,在虚拟机或者物理机安装均可以了,初学者最好用虚拟机。初学Linux的第一件事情,就是看到众多的Linux分支而头晕,这到底有什么区别呢,为啥Linux不是只有一个版本,而是有不少个版本呢?实际上是这样的,Linux实际上是一个操做系统内核,可是一个操做系统除了内核,还有用户操做界面,应用软件,例如咱们使用的windows,也有windows内核,出了windows内核,还有windows的图形界面,windows的office等应用软件。而Linux是一个免费开源的内核,每一个厂家均可以去Linux内核官网http://www.kernel.org/下载内核,而后去订制本身的图形界面和应用软件,因此会出现不少Linux分支,可是内核都是同样的。服务器
目前Linux只要有几个分支:redhat,ubuntu,debian,suse。不少其余linux发行版本是这几个分支的衍生版本,例如国内的红旗,centos都是redhat的衍生版本。
在服务器领域,我的以为redhat如今作的最好,桌面领域是ubuntu最好,而咱们学习Linux的最大目的是学习Linux的服务器领域,因此我推荐redhat版本。
学校里的linux课本都比较陈旧,大部分是Redhat Linux 9的教程,可是Redhat Linux 9因为硬盘驱动关系,是没法在如今的物理机上安装的,包括本人,也受过大学课本的误导(坑爹的教科书)。
Redhat Linux 9以后,redhat公司不在维护Redhat的开源版本,因而直接发行他的商业版本Redhat Enterprise Linux 2,目前已经有Redhat Enterprise Linux 6,可是6的稳定性还不清楚,我的推荐使用Redhat Enterprise Linux 5,请自行去网上下载Redhat Enterprise Linux 5。
Redhat Enterprise Linux虽说是商业版本,可是只要你安装的时候,肯定你不输入序列号,你仍是能够正常使用,只是不能在redhat官网更新软件而已,而后,这里就要提下CentOS了,因为Redhat Enterprise Linux是商业版本,因而CentOS这个组织就和redhat公司买了源代码,并从新编译,免费开放出来,免费让用户能够在centos官网更新软件,包括使用Redhat Enterprise Linux的系统也能够在centos的官网更新软件。你们也可能有疑问,既然centos和redhat都是如出一辙,除了名字不同,为啥不选择centos。其实没任何区别,Centos 5.5就和Redhat Enterprise Linux 5.5是如出一辙的,你能够选择centos去安装,去拿redhat的教程学习。
选择了Linux发行版本,你就会想如何开始学习Linux了。
1.固然是安装Linux了,请上网自行google或者百度,下载redhat linux 5的安装光盘,而后再安装vmware,自行安装
2.多动手,多敲命令。只看书,不实践,一切都是浮云。默认安装redhat 5,启动redhat 5是带有图形界面的,可是图形界面最好少用,对学习Linux不利,必定要尽可能用字符界面,慢慢习惯。而工做中,使用Linux,使用图形界面的几率几乎是0。因此你去学习图形界面的技术价值,几乎为0,性价比不高。
1.学习Linux的第一件事情是学习Linux基础,这方面我推荐鸟哥的私房菜的Linux 基础文件,里面讲解了Linux的文件,磁盘,网络,进程等,看懂了这本书,而且一个个命令去实践,你就开始入门Linux了。
2.学习Linux的第二事情就是用Linux。前面说过,Linux的最大用处是服务器领域,因此你要学的第二步是学会架设服务器,这方面我推荐鸟哥的私房菜Linux 架站文件,这本书介绍了不少服务器的假设,没有必要把所有服务器的架设步骤都看完。我的以为能够先看完架设服务器的基础,而后再看看如何搭建web服务器,ftp服务器,telnet服务器,ssh服务器。学会这几个服务器的搭建,管理,再根据我的兴趣和须要选择其余服务器的搭建。
3.进阶——编程。到了这里,你只是会用Linux而已,或许学会少量shell编程,可以学会简单的shell,编写脚本。可是你要进一步熟悉Linux,就要学会Linux编程。例如,Linux的管道是怎么作,Linux的deamon进程是如何实现的,为何nohub可让一个进程能够以daemon形式运行,即便关闭了shell也不会让这个进程也被关闭。这些,你学会了Linux环境编程,你就豁然开朗了。这里我推荐 《UNIX环境高级编程》,此书是Linux/Unix编程的圣经,堪称惊世之做。
4.到了这里,你就能够对Linux/Unix有所了解,已经有必定的基础了,接下来你就要根据你的兴趣去选择你感兴趣的方向去学习,或许要根据你的工做方向去学习(不少时候工做不是本身的兴趣),师父领进门,修行在我的,以上的学习步骤是我能想到的最简化的步骤,学习的东西越多,只会让初学者更迷茫。
备注:万事开头难,尤为是刚接触Linux的人,会感受难以入手,若是你们须要的话,我后续会写文章,从Linux安装到简单使用,以step by step的形式贴出来,让你们少走弯路,增长学习Linux的信心,之后你们开始学习鸟哥的私房菜——基础文件篇,就事半功倍了。