1.1 实验内容
本节主要介绍 Linux 的历史,Linux 与 Windows 的区别等入门知识。如果你已经有过充分的了解,可以跳过本节,直接进入下一个实验。
1.2 知识点
1.2.1 linux为何物
Linux 就是一个操作系统,就像你多少已经了解的 Windows(xp,7,8)和 Mac OS 。至于操作系统是什么,就不用过多解释了,如果你学习过前面的入门课程,应该会有个基本概念了,这里简单介绍一下操作系统在整个计算机系统中的角色。
我们的 Linux 主要是系统调用和内核那两层。当然直观地看,我们使用的操作系统还包含一些在其上运行的应用程序,比如文本编辑器、浏览器、电子邮件等。
1.2.2 linux历史简介
列举一些 Linux 诞生大事件:
-
1965 年,Bell 实验室、MIT、GE(通用电气公司)准备开发 Multics 系统,为了同时支持 300 个终端访问主机,但是 1969 年失败了;
那时候并没有鼠标、键盘,输入设备,只有卡片机。因此,如果要测试某个程序,则需要将读卡纸插入卡片机,如果有错误,还需要重新来过;Multics:Multiplexed Information and Computing Service;
-
1969 年,Ken Thompson(C语言之父)利用汇编语言开发了 File Server System(Unics,即 UNIX 的原型);
因为汇编语言对于硬件的依赖性,因此只能针对特定硬件; 只是为了移植一款“太空旅游”的游戏;
-
1973 年,Dennis Ritchie 和 Ken Thompson 发明了 C 语言,而后写出了 UNIX 的内核;
将 B 语言改成 C 语言,由此产生了 C 语言之父;90% 的代码是 C 语言写的,10% 的代码用汇编语言写的,因此移植时只要修改那 10% 的代码即可;
-
1977 年,Berkeley 大学的 Bill Joy 针对他的机器修改了 UNIX 源码,称为BSD(Berkeley Software Distribution);
Bill Joy 是 Sun 公司的创始人;
-
1979 年,UNIX 发布 System V,用于个人计算机;
-
1984 年,因为 UNIX 规定“不能对学生提供源码”,Tanenbaum 老师自己编写兼容于 UNIX 的 Minix,用于教学;
-
1984 年,Stallman 开始 GNU(GNU's Not Unix)项目,创办 FSF(Free Software Foundation)基金会;
产品:GCC、Emacs、Bash Shell、GLIBC;倡导“自由软件”;GNU 的软件缺乏一个开放的平台运行,只能在 UNIX 上运行;自由软件指用户可以对软件做任何修改,甚至再发行,但是始终要挂着 GPL 的版权;自由软件是可以卖的,但是不能只卖软件,而是卖服务、手册等;
-
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):
1.2.3.linux重要人物
Ken Thompson:C 语言之父和 UNIX 之父
Dennis Ritchie:C 语言之父和 UNIX 之父
Stallman:著名黑客,GNU 创始人,开发了 Emacs、gcc、bash shell
Bill Joy:BSD 开发者
Tanenbaum:Minix 开发者
Linus Torvalds:Linux 之父,芬兰赫尔辛基大学
1.2.4.linux与windows的不同
1. 免费与收费
-
最新正版 Windows 10,需要付费购买;
-
Linux 免费或少许费用。
2. 软件与支持
-
Windows 平台:数量和质量的优势,不过大部分为收费软件;由微软官方提供重要支持和服务;
-
Linux 平台:大都为开源自由软件,用户可以修改定制和再发布,由于基本免费没有资金支持,部分软件质量和体验欠缺;由全球所有的 Linux 开发者和自由软件社区提供支持。
3. 安全性
-
Windows 平台:三天两头打补丁安装系统安全更新,还是会中病毒木马;
-
Linux 平台:要说 Linux 没有安全问题,那当然是不可能的,这一点仁者见仁智者见智,相对来说肯定比 Windows 平台要更加安全,使用 Linux 你也不用装某杀毒、某毒霸。
4. 使用习惯
-
Windows:普通用户基本都是纯图形界面下操作使用,依靠鼠标和键盘完成一切操作,用户上手容易,入门简单;
-
Linux:兼具图形界面操作(需要使用带有桌面环境的发行版)和完全的命令行操作,可以只用键盘完成一切操作,新手入门较困难,需要一些学习和指导(这正是我们要做的事情),一旦熟练之后效率极高。
5. 可定制性
-
Windows:这些年之前算是全封闭的,系统可定制性很差;
-
Linux:你想怎么做就怎么做,Windows 能做到得它都能,Windows 做不到的,它也能。
6. 应用范畴
或许你之前不知道 Linux ,要知道,你之前在 Windows 使用百度、谷歌,上淘宝,聊 QQ 时,支撑这些软件和服务的,是后台成千上万的 Linux 服务器主机,它们时时刻刻都在忙碌地进行着数据处理和运算,可以说世界上大部分软件和服务都是运行在 Linux 之上的。
7. Windows 没有的
-
稳定的系统
-
安全性和漏洞的快速修补
-
多用户
-
用户和用户组的规划
-
相对较少的系统资源占用
-
可定制裁剪,移植到嵌入式平台(如安卓设备)
-
可选择的多种图形用户界面(如 GNOME,KDE)
8. Linux 没有的
-
特定的支持厂商
-
足够的游戏娱乐支持度
-
足够的专业软件支持度
1.2.5.如何学习linux
1. 学习心态
-
明确目的:你是要用 Linux 来干什么,搭建服务器、做程序开发、日常办公,还是娱乐游戏;
-
面对现实:Linux 大都在命令行下操作,能否接受不用或少用图形界面;
-
是学习 Linux 操作系统本身还是某一个 Linux 发行版(Ubuntu,CentOS,Fedora,OpenSUSE,Debian,Mint 等等),如果你对发行版的概念或者它们之间的关系不明确的话可以参看 Linux 发行版。
2. 注重基础,从头开始
大致的学习路径如下: