# 什么是Linux

Linux，全称为GNU/Linux，是一种免费使用和自由传播的类UNIX操作系统，我们常说的Linux，指的是Linux内核，一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。

Linux现在已经是现代互联网体系中不可或缺的一部分了，可能你看不见它，但是它一直在你身边，各种嵌入式设备，如手表，机器人。还有广为人之的安卓。地球上大多数的服务器都是Linux操作系统。从航天到军事、从科研到金融、从手机到电脑，无处不在。

因其开源的特点，Linux的发展速度以指数规模增长，无数开发者加入到Linux开发的行列中来。本章简单概括一下Linux的优点和发展历史。

*************

# 一、为什么要使用Linux

Linux有以下众多特点：

* **开源免费**

  Linux是完全免费的操作系统，并且开放源代码，任何人都可以随意修改其源代码。

* **多用户、多任务**

  Linux支持多用户，各个用户对于自己的文件设备有自己特殊的权利，保证了各用户之间互不影响。多任务则是现代电脑最主要的一个特点，Linux可以使多个程序同时并独立地运行。

* **安全可靠**

  Linux的代码是开源的，所以每个人都可以参与进入修补漏洞。此外，Linux的用户权限管理也使得安全风险降低

* **稳定**

  Linux服务器一直以稳定性闻名，可以持续运行很久都不易崩溃。

* **多平台**

  Linux可以运行在多种硬件平台上，x86，arm及其他各种嵌入式设备。

*****************

以上几类特点是Linux内核的特点，我们常说的Linux，一般都是指其内核，还有很多个人、社区或者企业，都有根据Linux内核进行“改装”的发行版，各种发行版的特点不同，有的注重服务器性能，有的注重图形系统。

在Linux那么多年的迅猛发展后，Linux也产生了很多与内核无关的优点。例如

* **方便**

  Linux的在线安装软件包工具非常方便，一行命令即可将软件安装好，环境配置非常方便快捷。

* **开源软件多**

  大多数的开源软件的首要适配平台都是Linux，所以在Linux有许多免费又开源的软件工具让你使用。

********************

# 二、发展历程

20世纪80年代，计算机硬件的性能不断提高，PC的市场不断扩大，当时可供计算机选用的操作系统主要有Unix、DOS和macOC这几种。

Unix价格昂贵，不能运行于PC；DOS显得简陋，且源代码被软件厂商严格保密；MacOS是一种专门用于苹果计算机的操作系统。此时，计算机科学领域迫切需要一个更加完善、强大、廉价和完全开放的操作系统。由于供教学使用的典型操作系统很少，因此当时在荷兰当教授的美国人AndrewS.Tanenbaum编写了一个操作系统，名为MINIX，为了向学生讲述操作系统内部工作原理。

MINIX虽然很好，但只是一个用于教学目的的简单操作系统，而不是一个强有力的实用操作系统，然而最大的好处就是公开源代码。全世界学计算机的学生都通过钻研MINIX源代码来了解电脑里运行的MINIX操作系统，芬兰赫尔辛基大学大学二年级的学生Linus Torvalds就是其中一个。

在吸收了MINIX精华的基础上，Linus于1991年写出了属于自己的Linux操作系统，版本为Linux0.01，是Linux时代开始的标志。他利用Unix的核心，去除繁杂的核心程序，改写成适用于一般计算机的x86系统，并放在网络上供大家下载，1994年推出完整的核心Version1.0，至此，Linux逐渐成为功能完善、稳定的操作系统，并被广泛用。 

# 三、常用发行版

1、**Debian**

老牌发行版，非常稳定，适合用于服务器。



2、**Ubuntu**

Ubuntu是Debian的一款衍生版，侧重于它在这个市场的应用，在服务器、云计算、甚至一些运行Ubuntu Linux的移动设备上很常见。于2004年9月首次公布的。属于热门发行版之一，因其图形界面开发较完善以及良好的社区支持，很受初接触Linux的人群青睐。



3、**CentOS**

CentOS 是一种对 RHEL（Red Hat Enterprise Linux）源代码再编译的产物，由于 Linux 是开发源代码的操作系统，并不排斥样基于源代码的再分发，CentOS 就是将商业的 Linux 操作系统 RHEL 进行源代码再编译后分发，并在 RHEL 的基础上修正了不少已知的漏洞。



4、**Fedora**

Fedora Linux（第七版以前为Fedora Core）是由Fedora项目社区开发、红帽公司赞助，目标是创建一套新颖、多功能并且自由（开放源代码）的操作系统。Fedora是商业化的Red Hat Enterprise Linux发行版的上游源码。

5、**Kali**

Kali Linux是Debian的一款衍生版。旨在渗透测试和数字取证。它预先构建了用于渗透测试的多种工具。



6、**Arch**

Arch是一款采用滚动发行方式的操作系统，只要安装一次就够了，每当发行了某个新版本，就可以升级发行版，无需重新安装。Pacman是Arch Linux的软件包管理器。Arch Linux既支持X86处理器架构，又支持X86_64架构，安装程序可以从光盘或U盘来运行。



# 四、推荐阅读

有兴趣深入了解Linux以及自由软件，开源历史的，推荐阅读一下书籍

《只是为了好玩》

《大教堂与集市》

《自由软件，自由社会》

《黑客与画家》





# 参考资料

[1] 刘振洪、吴敏凤．Linux操作系统实用教程．天津：天津科学技术出版社，2016

[2] https://baike.baidu.com/item/fedora/3293972?fr=aladdin

