Linux初级学习

Linux初级学习

在学习Linux之前需要说一个老生常谈的故事。我觉得学习Linux这个故事还是需要知道的。

Multics计划:

上个世纪六十年代为了满足科研的需求,在1965年有Bell(贝尔实验室)和MIT(麻省理工学院)以及GE(通用电气)联合研发了一个分时多任务系统并取名为Multics(多路信息计算系统)。由于各方面的原因,1969年Bell退出项目组。

Unix的诞生:

Bell实验室的Ken Thompson在做Multics研发的同时,自己写了一个Space Travel(太空大战)的游戏。但是由于退出项目之后,没有可以运行的Multics平台。为了可以继续玩游戏花费了一个月时间写了一个小型操作系统运行Space Travel,当完成之后,Ken Thompson让同事们试玩之后,大家对于的操作系统非常感兴趣。于是起名叫UNiplexed Information and Computing Service缩写为UNICS,后来取其谐音称之为UNIX。刚好这一年是1970年,于是将1970年定为Unix元年,从此计算上的时间就从这一年开始计算。

Unix系统在Bell实验室开始流行起来,经过不断的改良于1974年的7月发布了Unix的第5个版本。Bell实验室公开了Unix,引起学术界对于其源码的极大兴趣。所以Unix第五版以“教育目的”提供给各大学校和科研机构作为学术研究。1978年伯克利大学,推出了以第六版为基础,加上改良和新功能而组成的Unix。 并命名为BSD(Berkeley Software Distribution伯克利分发版),开创了Unix的另一个分支:BSD 系列。 

 于是乎Unix就有了两个分支,一个就是BSD系列的分支,一个就是Bell内部流行的分支。当时Bell属于AT&T,AT&T受到了美国《谢尔曼反托拉斯法》的影响。不能销售除了电话机电报机等之外的商品,因此Unix都是免费提供给个大学使用的。后来AT&T分解,Bell卖了Unix,从此Unix就走向了商业化,如果想继续使用就需要购买版权。很多机构提供了使用。

Minix以及Linux的诞生:

Unix开始收费之后,各大学无法再使用免费的Unix。于是在1987年荷兰有个大学教授安德鲁写了一个Minix。其类似于Unix,但是比Unix小的多,专用于教学。当Minix流传之后,世界各地的黑客们纷纷开始研究使用并进行改良。希望可以把改良之后的内容合并到Minix中。安德鲁觉得他的系统是用于教学的,不能破坏纯净性,于是拒绝了。

在1991年,Linus Torvalds(林纳斯·托瓦兹)在互联网上公布了自己写的Linux。希望大家一起探讨并发展该系统。公布之后引起了强烈的反响,并在大家的努力下,在1994年发布了Linux的1.0版本。

Richard Stallman,Stallman因为Unix受商业化的影响,他认为软件应该让大家自由的使用不受约束。于是在八十年代的时候他发起了自由软件运动 (GUN运动),并发布了自由软件协议(GPL协议)。这一运动得到了很多人的认同。

所谓自由软件就是指:自由使用;自由学习和修改;自由分发;自由创建衍生版;

Linux是遵循GPL协议的,可以免费使用,让黑客们尽情的施展(这里的黑客指技术大牛,不是指那些做坏事的人)。于是Linux提供内核(Kernel),GUN提供外围软件,就这样GUN/Linux诞生了。

Linux的版本:

Linux和Unix是一个操作系统。1991年Linus Torvalds公布的其实是Linux的内核(Kernel)。说白了其实是源码,需要编译成操作系统才可以进行安装使用。 ReadHat(红帽)就是其中著名的一家操作系统发布者。Linux是遵循GPL协议的,也就是不能商业化。Redhat的操作系统可以免费使用。但是Redhat的服务是需要提供额外的费用。这些服务包含技术支持和软件更新优化。

既然Redhat可以商业化,那为什么不可以做免费的呢。于是CentOS开源社区,将Redhat的源码重新编译成操作系统并发布到CentOS开源社区,所以CentOS也叫社区版CentOS。本质上Redhat和CentOS是同宗同源,只是服务的方向不一样。所以Redhat和CentOS可以互相使用彼此的免费信息。

Linux的思想:

1、  一切皆文件,Linux本身就是文件系统。

2、  Linux配置文件都以文本形式存在。

3、  所有程序都是以库文件存在,以“.so”的形式存在。

4、  Linux的显示方式是以命令行的形式存在并且返回值以无结果为正确,与Windows的弹窗形式不一样。

      

猜你喜欢

转载自www.cnblogs.com/tianshanfengye/p/10173654.html