Linux基础入门课程(1)

MakeCourse

ZMAKER

Hi guys, 薛老师又开新坑开始更新Linux系列课程。

什么是Linux?

Linux背后的故事?

UNIX进化史?

Linux与Windows的区别?

本篇将为你依次解答,往下看吧~

一、什么是Linux?

Linux其实就是一个操作系统,就像我们常用的windows(XP、7、8、10)和Mac OS差不多。操作系统是什么呢?我就不再多说了,你们应该知道的~我们都知道计算机首先拥有实体的硬件,也就是硬件层。之后就需要我们基本驱动硬件的内核和用来操作我们硬件的系统,也就是操作系统。之后就是各种各样的应用了~总结一下,计算机总共分为硬件、内核、系统调用、应用程序这四个部分。操作系统就是运行在内核和系统层的东西啦。

我们这个世界上基本上常用的操作系统有windows、Mac OS、Linux、DOS这四个啦。当然还有IOS、安卓、windows Phone这些手机操作系统。这其中其实Mac OS、IOS、都是和Linux一样基于UNIX内核,而安卓又是基于Linux系统开发的手机系统。所以其实我们常用的操作系统基本上只有windows和UNIX的。所以Linux作为UNIX的“亲儿子”,我们更要学习Linux啦。

二、Linux的由来

说到Linux的历史我们需要先回顾一下最早的操作系统是什么样子的。在二十世纪五十年代的时候,当时的操作系统运行一些批处理程序(批处理程序的构成没有固定格式,只要遵守以下这条就ok了:每一行可视为一个命令,每个命令里可以含多条子命令,从第一行开始执行,直到最后一行结束。)不需要用户的交互,那时候程序文件是在穿孔卡带上读取数据,然后把输出结果输出到另外一个打印机上或者其他输出设备。

六十年代初,交互式操作系统开始流行。它不仅仅可以交互,还可以使多个用户从不同的终端同时操作主机,这样的操作系统统称为分时操作系统。它的出现对批处理操作系统是个极大的挑战,许多人尝试开发分时操作系统, 其中包括一些大学的研究项目和商业项目。当时有个项目叫做Multics,它的技术在当时非常具有创新性。Multics项目的开发并不顺利,花费远超预算,然而并没有在操作系统市场占据多少份额。而参加该项目的一个开发团体——贝尔实验室推出了这个项目,他们在退出后开发了一套新的操作系统——UNIX。

UNIX 最初是免费发布,并因此在大学里广受欢迎。后来,UNIX 实现了 TCP/IP 协议栈,成为了早期工作站的操作系统的一个流行选择。

1990 年,UNIX 在服务器市场上尤其是大学校园中成为主流操作系统,许多校园都有 UNIX 主机,当然还包括一些研究它的计算机系的学生。这些学生都渴望能在自己的电脑上运行 UNIX 。不幸的是,从那时候开始,UNIX 开始变得商业化,它的价格也变得非常昂贵。而唯一低廉的选择就是 MINIX,这是一个功能有限的类似 UNIX 的操作系统,作者 AndrewTanenbaum 最初开发它的目的是用于教学。

1991 年 10 月,Linus Torvalds(Linux 之父)在赫尔辛基大学接触 UNIX,他希望能在自己的电脑上运行一个类似的操作系统。可是 UNIX 的商业版本非常昂贵,于是他从 MINIX 开始入手,计划开发一个比 MINIX 性能更好的操作系统。很快他就开始了自己的开发工作。他第一次发行的版本迅速吸引了一些黑客。尽管最初的 Linux 并没有多少用处,但由于一些黑客的加入使它很快就具有了许多吸引人的特性,甚至一些对操作系统开发不感兴趣的人也开始关注它。

Linus Torvalds(Linux 之父)

Linux 本身只是操作系统的内核,内核是使其它程序能够运行的基础。它实现了多任务和硬件管理,用户或者系统管理员交互运行的所有程序实际上都运行在内核之上。其中有些程序是必需的,比如说,命令行解释器(shell),它用于用户交互和编写 shell 脚本。 Linux 没有自己去开发这些应用程序,而是使用已有的自由软件。这减少了搭建开发环境所需花费的工作量。实际上,他经常改写内核,使那些程序能够更容易地在 Linux 上运行。许多重要的软件,包括 C 编译器,都来自于自由软件基金 GNU 项目。GNU 项目开始于 1984 年,目的是为了开发一个完全类似于 UNIX 的免费操作系统。为了表扬 GNU 对 Linux 的贡献,许多人把 Linux 称为 GNU/Linux(GNU 有自己的内核)。

1992-1993 年,Linux 内核具备了挑战 UNIX 的所有本质特性,包括 TCP/IP 网络,图形界面系统(X window ),Linux 同样也吸引了许多行业的关注。一些小的公司开始开发和发行 Linux,有几十个 Linux 用户社区成立。1994 年,Linux 杂志也开始发行。

Linux 内核 1.0 在 1994 年 3 月发布,内核的发布要经历许多开发周期,直至达到一个稳定的版本。

三、Linux的历史

1965 年,Bell 实验室、MIT、GE(通用电气公司)准备开发 Multics 系统,为了同时支持 300 个终端访问主机,但是 1969 年失败了。

1969年,Ken Thompson(C语言之父)利用汇编语言开发了Unics也就是UNIX原型。

Ken Thompson

1973 年,Dennis Ritchie 和 Ken Thompson 发明了 C 语言,而后写出了 UNIX 的内核;(图片是Dennis Ritchie,C语言和UNIX之父之一)

Dennis Ritchie

1977年,Berkeley 大学的 Bill Joy 针对他的机器修改了 UNIX 源码,称为BSD(Berkeley Software Distribution)

BSD吉祥物Beastie

Bill Joy

1979年,UNIX 发布 System V,用于个人计算机。

1984年,因为 UNIX 规定“不能对学生提供源码”,Tanenbaum 老师自己编写兼容于 UNIX 的 Minix,用于教学。

Tanenbaum

1984年,Stallman 开始 GNU(GNU's Not Unix)项目,创办 FSF(Free Software Foundation)基金会。

Stallman

1985年,为了避免 GNU 开发的自由软件被其他人用作专利软件,因此创建 GPL(General Public License)版权声明。

1988年,MIT 为了开发 GUI,成立了研发 XFree86 的组织。

1991年,芬兰赫尔辛基大学的研究生 Linus Torvalds 基于 gcc、bash 开发了针对 386 机器的 Linux 内核。

1994年,Torvalds 发布 Linux-v1.0。

1996 年,Torvalds 发布 Linux-v2.0,确定了 Linux 的吉祥物:企鹅。

四、UNIX进化史

(UNIX大家族族谱1969-2013)

五、Linux与Windows有什么区别?

1. 免费与收费

Windows需要付费购买

Linux免费或付费使用(多少都可以,捐款给基金会可获得更好的体验)

2. 软件与支持

Windows:数量和质量的优势,大部分软件收费使用(中国是个奇葩的国度,软件不免费没人用所以~只能先免费后收费);由微软官方提供更新和服务。

Linux:大部分为开源软件,用户可以修改软件源代码再发布,由于很多软件没有资金支持部分软件质量和体验不好;系统由全球所有的Linux开发者提供支持(如果你想,你也可以为下一个版本增加你的代码哟~)。

3. 安全性

Windows:因为使用的人多,所以……做病毒啊什么的人也多啦~

Linux:使用的少。并且大部分都是懂技术的,所以没什么人在这个平台做病毒呢。不过也是有的。

4. 使用习惯

Windows:普通用户基本都是纯图形化界面。而且大家基本上都在用所以……感觉非常简单,习惯。

Linux:虽然兼容图形化界面(Ubuntu)但是大部分还是需要命令行操作,最起码安装软件都需要输入命令,所以一般人使用很困难,需要一段时间学习。不过熟练后比Windows效率高很多很多很多……很多。

5. 可定制性

Windows:只能使用微软公司给定的功能,基本无法定制。

Linux:因为代码完全开放,所以只要你够牛逼,想怎么改怎么改。

6. 应用范围

其实吧~一般来说我们感觉Windows用的很多。但是其实你用的大部分网络服务都是在Linux服务器上运行的,你聊天、看视频、玩游戏的时候背后都有很多Linux的支持。

7. Windows没有的

相对稳定的系统(服务器方面,个人桌面用户方面现在差不多了)

多用户

较少的系统占用

可以定制、移植

多种界面

8. Linux没有的

厂商支持

游戏娱乐支持

专业软件

易用性

六、如何学习Linux?

1.明确目的:你是要用 Linux 来干什么,搭建服务器、做程序开发、日常办公,还是娱乐游戏。

2.面对现实:Linux 大都在命令行下操作,能否接受不用或少用图形界面。

3.是学习 Linux 操作系统本身还是某一个 Linux 发行版(Ubuntu,CentOS,Fedora,OpenSUSE,Debian,Mint 等等)。如果你对发行版的概念或者它们之间的关系不明确的话,可以参看 Linux 发行版。

七、Linux学习途径

近期活动

(1月20日)

(2月10~12日)

【往期MakeCourse内容】

Processing系列教程

CAD轻量化教程

Arduino开发入门教程

Scratch图形化编程教程

App Inventor程序开发课程

《玩儿转Micro: bit》系列

Magicavoxel像素体3D建模

开放 融合 创造

未完待续

欢迎好奇宝宝们来玩儿!个人参观可直接空降~

团体参观请联系后台,或根据下方联系方式提前预约~

交通路线:乘坐地铁1号线梧桐街站A出口)

河南省国家大学科技园南配1号楼东1-2层

欢迎关注我们的新浪微博@郑州创客空间

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180113B0FKSH00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券