Linux 简介

罗大富 BigRich大约 6 分钟Linux

什么是 Linux?

Linux 是一种操作系统,与 Windows、MacOS 占据了主流的操作系统。

Linux 也称:GNU/Linux,而其中 GNU 的全称又是:Gnu’s Not Unix

其中 GNU 放前面是有原因的,GNU软件是通过 GNU 项目发布的软件,它是一种根据 GNU 软件包的 README 手册以及自由软件指南开发的软件,大多数 GNU 软件是免费分发的(copyleft),但不是所有的都这样,然而,所有的GNU软件必须是自由软件。

对于 Linux 和 GNU/Linux 的两种叫法是有争议的,其实我们可以认为:Linux 本质是指 Linux 内核,而称 GNU/Linux 则代表这是一个系统。

通过上面的全称和资料其实我们也就了解到,Linux 本质来源不是 Unix,但是它借鉴了 Unix 的设计思想,所以在系统业界上把这种和 Unix 是一致设计思想的系统归为:类 Unix 系统

类 Unix 操作系统是一类特定的操作系统,它是源于Unix操作系统,但又有某种变体。它们全部使用相似的用户界面,拥有异构、共享和可访问性等特性,以及 Unix 核心的某些功能。因此,类 Unix 系统可被看成是同一家族中的不同成员。

类 Unix 系统,除了我们今天要讲的 Linux,还有大家熟知的 MacOS、FreeBSD(这两个是直接从 Unix 系发展过来的,所以相对 Linux 是比较地道的类 Unix 系统)

为什么要用 Linux 系统?

  • 支持更多的开源项目。有的工具只有 Linux 上有。
  • 更低的成本。使用 Linux 生态可以避免 Windows 生态版权带来的问题。
  • Linux 生态开源项目更多,同时兼容性更强、系统更稳定。

Linux 与 Windows 作对比

  1. 性能问题:因 Windows 的 GUI 界面会占用部分资源,同时 Windows 也有自己的资源调度方案,所以同样的任务,Linux 能拿出更多的资源。
  2. 普及程度:Windows 系统多数用在个人电脑,主要以娱乐和办公为主。而服务器和工作站等多数是 Linux 系统(Windows 的版权费用是一方面原因)。
  3. 稳定性:重启问题,Linux 可以 4-5 年不重启。windows server 超过半年不重启,可能会莫名蓝屏或者其它异常(系统补丁安装后必须重启)。
  4. 生态环境:事实上,Linux 的开源、免费项目更多。
  5. 成本低:在成本上比 UNIX 和 Windows Server 要低,Linux 开源免费,大型互联网服务器架构都是集群式的,如果采用收费的 Windows Server 和 UNIX,那成本就会很高。
  6. 安全性高:在安全性上不输 UNIX,远超 Windows Server。Linux 发行版本较多,难集中攻击;用户权限划分令风险降低;Linux 代码开源,漏洞有多人解决。Windows 因为在家用系统市场占有率高,而且在底层权限设计上也存在一些问题,所以在 UNIX 和 Linux 而言,更容易受到攻击,所以在安全性上比不上 Linux 和 UNIX。

如果你是某种语言的开发者,你从事这个行业,不管你怎么学习下去,Linux 永远绕不开。从简单的各种语言开发,到后期的服务器部署,分布式,集群环境,数据库相关等,Linux 都在等着你。如果你是新手程序员可能还不太懂我这句话,但是我这里可以这样提示:你可以认真去看下各个语言的官网、对应的开发组件官网,看下他们的下载和新手上路相关页面,都会有 Linux 系统对应的介绍,但是不一定有会 Windows。

Linux 的发行版本

Linux 的 Wiki 中有这句话:

通常情况下,Linux 被打包成供个人计算机和服务器使用的 Linux 发行版,一些流行的主流 Linux 发布版,包括 Debian(及其派生版本 Ubuntu、Linux Mint)、Fedora(及其相关版本 Red Hat Enterprise Linux、CentOS)和 openSUSE、ArchLinux(这个是我补充的)等。

从技术上来说,李纳斯·托瓦兹开发的 Linux 只是一个内核。内核指的是一个提供设备驱动、文件系统、进程管理、网络通信等功能的系统软件,内核并不是一套完整的操作系统,它只是操作系统的核心。一些组织或厂商将 Linux 内核与各种软件和文档包装起来,并提供系统安装界面和系统配置、设定与管理工具,就构成了 Linux 的发行版本。

在 Linux 内核的发展过程中,各种 Linux 发行版本起了巨大的作用,正是它们推动了 Linux 的应用,从而让更多的人开始关注 Linux。因此,把 Red Hat,Ubuntu,SUSE 等直接说成 Linux 其实是不确切的,它们是 Linux 的发行版本,更确切地说,应该叫作 以 Linux 为核心的操作系统软件包

Linux 的各个发行版本使用的是同一个 Linux 内核,因此在内核层不存在什么兼容性问题,每个版本有不一样的感觉,只是在发行版本的最外层(由发行商整合开发的应用)才有所体现。

Linux 的发行版本大体有以下几种:

很难说 Linux 版本中哪一款更好,每个版本都有自己的特点。Linux 的发行版本众多,在此不逐一介绍,下面给选择 Linux 发行版本犯愁的朋友一点建议:

  1. 如果你需要的是一个服务器系统,而且已经厌烦了各种 Linux 的配置,只是想要一个比较稳定的服务器系统,那么建议你选择 CentOS 或 RHEL。
  2. 如果你只是需要一个桌面系统,而且既不想使用盗版,又不想花大价钱购买商业软件,不想自己定制,也不想在系统上浪费太多时间,则可以选择 Ubuntu,最重要的是 Ubuntu 是对 ROS 支持最好的 Linux 版本。
  3. 如果你想深入摸索一下 Linux 各个方面的知识,而且还想非常灵活地定制自己的 Linux 系统,那就选择 Gentoo 吧,尽情享受 Gentoo 带来的自由快感。
  4. 如果你对系统稳定性要求很高,则可以考虑 FreeBSD。
  5. 如果你需要使用数据库高级服务和电子邮件网络应用,则可以选择 SuSE。

本套教程基于 Ubuntu 系统开发,并且在后续的 Docker、ROS、嵌入式 Linux 及 Web 后端开发教程中也会使用该系统。

注意

我们是要在上面做开发的,而不是把它变成生活用机的。

上次编辑于:
贡献者: Luo,罗大富 BigRich