在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
内容简介 1、课程大纲 2、第一部分第一课:什么是Linux? 3、第一部分第二课预告:下载Linux,免费的噢! 开宗明义 我们总听到别人说:Linux挺复杂的,是给那些追求逼格的程序员用的。咱们老百姓呀,用用Windows就高兴。 但事实并非如此,Linux不是那么“难于上青天”的。 不少学编程的朋友看过《鸟哥的Linux私房菜》,是台湾的鸟哥写的,非常棒。 小编也开始写一个系列教程,希望对自己对别人都有帮助。但我会非常认真的,不会乱来。 在这个教程中,小编会向您证明:Linux并不复杂。 如果你不知道什么是Linux,完全不要紧,这个教程就是给初学者准备的。 这个课程面向的对象:
什么是Linux? 当今时代,要说没听过Linux,那是比较难的一件事。 小编上初中的时候(20世纪初,不小心暴露了年龄),第一次看到Linux,还是在学校的机房的电脑上。但是一直没机会使用,因为也就一台电脑有Linux,大家上机课用的还是Windows。那时候就光记得Linux的那只呆萌的企鹅了。 今天,Linux几乎无所不在:大部分网站的服务器都是Linux系统;Android系统的底层用的是修改过的Linux内核;还有了Ubuntu(一种Linux发行版,下文中会介绍)手机。 小编你扯了半天,那么Linux到底是什么呀? 不要急嘛,今天这一课我们就循序渐进地带你认识一下Linux。下一课我们才开始安装开发环境。 什么是操作系统? 说起Windows大概无人不知,无人不晓吧。它是Microsoft(比尔盖茨的微软帝国)的主要操作系统,其他例如嵌入式里有Win CE,我们就不讨论了。 以前,Windows在桌面PC(PC是“个人电脑”,Personal Computer的意思)上面确实是一统天下。 现在苹果的Mac电脑也开始逐步崛起,Linux的份额也增加了,但是两者加起来还是和Windows差了很多。Windows所有版本(Win XP,Windows 98, Windows Vista,Win 7,Win 8等,之后还会有Win 10,Windows跳过了Win 9,直接从Win 8到Win 10)加起来在桌面领域的份额超过90%。 2015年2月桌面操作系统份额: 虽然Windows继续称霸桌面PC,但是在移动端(手机,平板,手表等)的份额却不多,一般还是iOS和Android两强争霸之地。 大部分桌面电脑的预装系统是Windows,或者说都是以Windows作为发售系统。 那这意味着什么呢? 也许你会说:“这还不简单,也就是说,开机看到的是Windows标志呗”。 虽然这样说不够完全,但是不可否认是个好的开头。 当你开启一个预装系统是Windows的电脑时,最先看到的可能是下图这样: 当然了,上图随着Windows的不同版本会有所变化。但是我们主要想说明的是:电脑启动时Windows也随之启动。 启动:电脑开启 大部分人的印象中,电脑启动时,Windows是首先启动。但如果我们仔细一些,可以观察到,在电脑启动的开始几秒里,在屏幕上显示的是一系列图像,俗称“启动界面”。Windows的图标是之后才显示的。 对于“启动界面”,我们就不截图了,因为不同的电脑,这部分信息是不尽相同的。 为什么呢? 因为这和电脑的硬件有关。实际上,正是电脑的主板(mother board)显示了“启动界面”。 主板是电脑最主要的部分,因为是主板使得我们的处理器可以运转,硬盘可以读取,光盘可以播放。主板(英语是Motherboard, Mainboard,简称Mobo)又称主机板、系统板、逻辑板、母板、底板等,是构成复杂电子系统例如电子计算机的中心或者主电路板。如下所示: 所以,电脑启动时,下面两件事是按先后顺序发生的:
只有当Windows顺利启动后,我们才可以使用各种应用程序:浏览器,画图软件,游戏,音乐播放器,等等。 那么为什么一定要先启动Windows呢?为什么那些平时我们用的程序比如 画图软件 不可以在启动界面之后就使用呢? 因为,你的电脑需要一个类似“大管家”的软件,就好像管弦乐队的总指挥一样,需要指挥各个乐手的演奏。这个“大管家”软件需要管理你电脑的内存,把内存合理分配给各个软件。它起到连接电脑的硬件(内存,显卡,光驱等)和各种软件的“桥梁”的作用。 这个任务听起来可崇高、可神圣了,不是吗? 这个“大管家”软件就是操作系统,简称OS,是Operating System的首字母(operating是英语“操作”的意思,system是英语“系统”的意思)。之后的课程,我们经常会用到OS这个简称来指代操作系统,请记住啦。 而我们的Windows就是一个操作系统。 所以如果我们总结一下,电脑会按以下顺序执行任务:
或许用图示更容易理解吧: Linux是一个操作系统 小编你不要忘了这个教程是讲Linux的,怎么你扯了这么多Windows呀? 不要着急,我可没忘记我们的初衷。经过上面的介(hu)绍(che),大家应该对操作系统有了一个大致的了解了吧,那么我就要公布一个“惊天”的消息咯:Linux就是一个操作系统。类似的还有Mac OS,是苹果研发的操作系统。 相比于Windows,Linux以它的可靠和安全著称,而且更新频繁,不像Windows更新一次得等好久。我们在这个探索之旅中将慢慢发现Linux的这些优点。 也许你又要发问了:“我们能否在一台电脑上同时拥有两个OS啊?我可不想为了装Linux而把Windows卸载了,我还要玩游戏呢,我的Dota”。 有不少人可能认为需要做一个抉择:要么装Linux,要么就装Windows。但并不是这样:一台电脑可以拥有两个(甚至更多)的操作系统。 在这种情况下(多个操作系统),在电脑启动时,当启动界面结束后,会有一个被称为bootloader的程序显示出来,让你做出选择,到底选择哪个操作系统来启动。 什么是bootloader呢? 摘录百度百科的解释: ======================= Bootloader是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。通常,Bootloader 是严重地依赖于硬件而实现的,特别是在嵌入式领域。 ======================= 一般最常用的,能使我们在Linux和Windows之间做出选择的bootloader叫做GRUB。如果你没有做出选择,那么GRUB这个bootloader在几秒之后就会启动默认的操作系统。当然默认的操作系统也是你设定的。 千言万语不如一张图,再来看看电脑在双操作系统下的启动流程吧: 上图中,我们可以看到,当我们在Linux系统中时,我们使用的程序都是为Linux定制的,不会用Windows的程序;反之亦然。事实上,Windows的程序在Linux下不能运行,反之亦然。 当然了,现在有些技术可以使得Windows的程序在Linux下可以运行,比较出名的有Wine这个软件。然而,即使使用Wine后有些Windows程序可以运行在Linux下,但终归是使用专为Linux定制的程序比较好,因为更快捷。 你也许又要说了:“可是我已经习惯了Windows下的各种程序,在Linux下的程序我不会用啊”。 事实上,并没有那么难,大概几天你就能熟悉Linux下的程序的使用方法了,如果你够积极又感兴趣,可能一个晚上就可以了。 Linux上的程序有很多优点:
但是为什么Linux下的程序基本都是免费的呢?那开发这些程序的人不是要亏本了? 下面我们就来说说缘由。 天地霸气,爷们落地:Linux诞生 记得曾被好朋友忽悠看过一个恶搞的漫画,是关于春哥(李宇春)的,虽然我只看了开头,貌似叫《春哥传》。不过对第一卷的标题记忆犹新:《天地霸气,爷们落地》。所以在此也想借用一下,以表现Linux的霸气侧漏。 首先,Linux的霸气表现在“纯爷们”上... 不好意思搞错了,是在价格上:
看一下小编在Windows的官网上找到的Windows 8.1版的售价:120美元,按照目前美元兑人民币的汇率:1 : 6.2,就是745元。好贵,更不用说Windows里的程序价格也很贵,一个Office也要好几百美元: 看到这个对比,很多人心里会想:“Linux是免费的,肯定是因为Linux比较粗制滥造。” 那您就大错特错了。 Linux是免费的,而且基本上所有运行在Linux上的程序也是免费的,是有其原因的。而要了解原因,我们就要重回1984年,从那时开始说起。 1984年的信息技术 回到1984年,彼时的信息技术还远没有现在发达。那个时候,Microsoft(微软)才刚刚发布它的第一个操作系统:MS-DOS,也就是我们知道的DOS操作系统。 当然,DOS并不是微软开发的。追溯到1980年,西雅图计算机产品公司一名24岁的程序员蒂姆.帕特森(Tim Paterson)花费了4个月时间编写出了86-DOS操作系统。1981年7月,微软从西雅图计算机产品公司购得DOS的全部版权并将它更名为 MS-DOS。盖茨购买DOS的全部版权仅仅是5万美元。 虽然后来微软在1986年向西雅图计算机产品公司又支付了100万美元以了结官司,但与微软靠着DOS操作系统赚取的钱相比,这105万美元简直是杯水车薪。 说到头,比尔盖茨是个“海盗”般的人物,从靠DOS发迹,到后来的Windows NT的一统天下,微软可以说都在做不光彩的“勾当”,蒙了很多公司。有兴趣的读者可以看看《浪潮之巅》这本书,还有《硅谷海盗》这部电影,都有讲到微软的发迹史。 扯远了,我们及时拉回来。 虽然DOS操作系统在当时一出来便受到欢迎,但是这个系统本身有很多局限性,并不怎么样。 如果你用过初代的Windows系统,你肯定听说过DOS系统。它是像下图这样的: 那么,在那个年代,DOS是唯一的操作系统吗? 不是的,有不少操作系统,但是大部分都不出名。 当然,有一个操作系统很有名,那就是《Unix》。Unix比DOS要强大得多,但是使用起来更复杂,所以在当时只有比较专业的信息工程师才用Unix。 Unix也比DOS要古老得多,Unix是1969年(或1970年)诞生的。 从使用界面来看,Unix很像DOS:黑底白字。当然了,当时的电脑也只能做到这样了。 GNU项目 上图是GNU项目的logo(标志),因为GNU在英语里是“牛羚”的意思。 实际上GNU是“GNU is Not Unix”(这句英语的意思是“GNU不是Unix”)的递归缩写,计算机界经常有这样的名字表述法,老外就是萌。 也就是在微软发布DOS的同一年,1984年,Richard Stallman(理查德.斯托曼)创立了GNU项目。 谁是Richard Stallman啊?可能不少人没听过这名字。 但是这位前辈可是厉害, 他是:
GNU项目在当时的首要目的是创立一个类Unix的操作系统,当然操作系统不仅仅有内核啦,还包含一些底层的基本应用程序,如编译器,链接器,汇编器,文本编辑器,还有很多API(Application Programming Interface,应用程序编程接口是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节)等。 那你要问了:“既然已经有Unix这么好的操作系统了,为什么要复刻一个Unix出来呢?” 因为Unix不是免费的,是商用软件(严格地说一开始是免费的,还可以免费提供学校教学使用,后来不开源了),价格比Windows正版还贵一点,简直不能忍。 基于这个原因,Richard Stallman创立了开源的GNU项目,以惠己利人。 补充知识:苹果的Mac OS也是基于Unix的。然而,今天的DOS却和Windows系统几乎没多大联系了(初代的Windows还有DOS的遗迹)。 GNU是自由的操作系统 GNU不仅是一个免费的操作系统,而且它也是自由(后来也被称为“开源的”,不过与Richard Stallman的初衷已经有些许不同了)的。 我们说一个软件是自由的,那这和免费的有什么区别呢?
自由软件的拥护者认为:如果开放源代码,可以使软件得到多方协助,更新速度更快。 自由运动的口号是:“团结就是力量”(我党的真知灼见如此高瞻远瞩)。 Linus Torvalds霸气侧漏 1991年,Linus Torvalds(李纳斯·托沃兹),今天在编程领域应该无人不知,无人不晓了吧,就是Linux操作系统(严格地说是Linux内核)的作者。当时是芬兰的赫尔辛基大学的一位学生,他决定在自己的业余时间编写一个类Unix的操作系统(内核),最终还真给他开发出了1.0版。 Linux这个名字可以说是Linus和Unix的合并,也可以说是“Linux Is Not Unix”的递归缩写。下图是Linus的照片: 正如GNU有它的吉祥物,一只牛羚。Linux也有它的吉祥物:一只名叫Tux的萌萌哒雄性企鹅(爷们,24K纯滴)。Tux在英语里是“燕尾服”(正式名称是“男士无尾半正式晚礼服”)的意思,企鹅黑不溜秋的后背是不是很像一件燕尾服呢?而且有点神似Linus大叔。 关于这个吉祥物还有一个真实的典故,那时候为Linux系统设计吉祥物的画家征求广大意见,其他人提议模仿其他软件,用一些霸气的吉祥物,比如鲨鱼,鹰之类。最后Linus Torvalds说:“我以前在澳大利亚被一只企鹅咬过,我觉得企鹅是很有趣的生物”(简直是逗x啊,此邮件目前还保留着)。所以最后Linux的吉祥物就定为了企鹅,还是很可爱的。事实证明,Linus的决定并没有错,这只呆萌的企鹅不知道萌化了多少程序员的心。至少小编对其喜爱有加。 那么Linux和GNU项目有什么联系呢? 好问题。 可以说这两个项目是互补的:在1991年Linus释出Linux的第一个版本时,GNU项目已经创建了不少操作系统的外围软件了,例如:拷贝文件的程序(cp命令),删除文件的程序(rm命令)文本编辑器(Emacs),编译器(GCC),调试器(GDB),等一系列的程序,但是还没有自己的内核(Kernel),而Linux的出现(Linus其实就是写了一个类Unix的内核,然后移植成功了一些GNU的程序)。后来完善Linux的工作交给了Linus和广大开源社区的黑客们。他们一直兢兢业业,才有了今天Linux的辉煌。所以不是Linus一个人的功劳,他是站在开源社区的巨人肩膀上的“芬兰小毛孩子”。 所以说,GNU项目(开源的各种程序)+ Linux (操作系统内核)= GNU/Linux 这一个完整的操作系统。 生活在非洲大草原上的牛羚和象征芬兰冰天雪地的企鹅,相得益彰,冰火交融,成就了一个传奇。(“只是因为在人群中多看了你一眼...”) 来理清一下思路: 《操作系统的核心称为“内核”,但内核并不就等于操作系统,内核提供系统服务,比如文件管理、虚拟内存、设备I/O等。除内核以外,在应用软件与内核之间通常还有些作为中间件的API,可以供应用程序调用,还包含一些基本的程序,例如文本编辑器,编译器,外壳程序(shell,如常用的Bash),等。 单独的Linux内核是没办法工作的,必须要有GNU项目的众多应用程序来给它添砖加瓦。你可以想象内核就有点类似房屋的根基(钢筋混凝土),周边的基本应用程序就相当于房屋的各种设施,这样一幢房子才可以提供不同的人或动物(第三方应用程序,例如QQ,迅雷等)来使用。》 因此,Linux的官方称谓应该是“GNU/Linux”,但是这样的名字有点复杂,发音也不容易,所以一般我们都用简称:Linux。 约定:下面的课程中,如果是指Linux内核,那么小编会使用“Linux内核”;如果是指GNU/Linux这个操作系统整体,那么小编会使用“Linux”。 用一张图来总结各个系统的关系吧: 现在我们应该对全球三大最常用的桌面操作系统(Windows,Linux和Mac OS)的缘起有了一定认识了吧。 Mac OS和Linux都是基于Unix,Unix可以说是它们的祖先。而Windows的祖先是DOS,虽然我们目前使用的大部分Windows版本是基于革命性的Windows NT内核(可以阅读《观止-微软创建NT和未来的夺命狂奔》这部相当精彩的书,小编那时看得热血沸腾)。 我们说Mac OS和Linux基于Unix,只是说他们复刻了Unix的运行模式。源代码是基本不同的,特别是Linux的内核,完全是Linus从零开始写的,虽然很多代码类似Unix。而GNU项目的很多程序也和Unix的类似,连名字都一样,例如cp命令,rm命令,mv命令等。 说了这么多,希望读者朋友不要嫌小编啰嗦(当然是有点啰嗦的... 咳咳),但是如此苦口婆心(人家是纯爷们好吗... 24K的)只是为了让大家心里对这些基本概念有个大体的框架,这样后续的课程就比较容易理解了。 不同的Linux发行版 Linux发展到今天,已经是一个相当复杂和丰富的操作系统了,其大部分源代码还是GNU项目的。 因为是开源自由的,所以Linux不像Windows那么死板,你可以自己定制属于自己的Linux系统,只要你够厉害,可以自己裁裁剪剪,修修改改Linux的源代码。 不过也正因为如此,一些初学者就有点头大了,网上一搜Linux,版本那么多,用哪一个内核版本呢?然后安装哪些应用程序呢?而且安装方法又不同。。。 这都是令到普通用户作难之处。相比之下,Windows的选择和安装就简单很多。 为了简化用户安装的过程,以及提供一些基本的软件,例如浏览器,通讯软件,终端,绘图软件,文本编辑器,等等,产生了不少的Linux发行版,这些Linux的操作系统可以说是一整套使用环境:有内核,有API,有各种预装的应用程序。 这种“发行版”的概念在Windows可以说并没有,虽然我们有Win 7家庭版和Win 7旗舰版,但是不太一样。 不同的Linux发行版之间主要区别如下:
可以把Linux的不同发行版想象成拥有同样核心(Linux的内核在Linux发行版上几乎是差不多的),而有不同装饰的摩登女郎。 不同的Linux发行版 全球有很多Linux的发行版,五花八门,而又都是免费的(也有个别版本收费,比如Red Hat的企业版),很难选择啊。我们接下来简单介绍最常见的Linux发行版,然后小编会为你做最好的选择。
Debian这个Linux发行版 我们会把精力集中在Debian这个Linux发行版上,因为它算是最符合开源精神的发行版了,也是最符合GNU标准的,是由开源社区维护。上述不少的Linux发行版都是公司来维护的。 Debian如此成功,所以继承Debian,又出现了不少Linux发行版:
如果您觉得不够清楚,那么下图应该可以帮你理清思路: Ubuntu这个Linux发行版 为什么我们要选择Ubuntu(发音:乌班图)作为本系列课程的Linux发行版呢? 有以下几个原因(小编不会坑你的,放心):
总结
|
请发表评论