Skip to content

Linux 介绍

操作系统

操作系统(英语:operating system,缩写作 OS)是管理计算机硬件与软件 资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存 、决定系统资源供需的优先次序、控制输入与输出设备、操作网络 与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

001_OS作为接口的示意图

没有安装操作系统的计算机,通常被称为裸机

  • 如果想在裸机上运行自己所编写的程序,就必须用机器语言书写程序
  • 如果计算机上安装了操作系统,就可以在操作系统上安装支持的高级语言环境,用高级语言开发程序

主流操作系统

操作系统优点缺点主要场景
windows1. 简单的界面
2. 丰富的软件
3. 最多的用户群体
4.很多的娱乐软件
一些开发工具无法使用
对开发者不是很友好
办公、娱乐
还可以的开发体验
mac1. 良好的界面优化
2. 苹果生态的加持
3. 不错的开发体验
封闭的生态
一些娱乐、开发软件无法使用
日常办公
不错的开发体验
linux1. 最好的开发体验
2. 开发、生产环境保持一致
3. 开销低、服务器环境首选
1. 专业的工具,上手门槛高
2. 界面体验不好(也不需要)
3. 办公、娱乐软件很少
服务器环境
最好的开发体验

总结:

windows 是最好的桌面系统,有还可以的开发体验。但是对开发者不友好,一些开发软件安装、配置异常麻烦,并且一些工具无法使用或者使用时有 BUG。

linux 办公与娱乐几乎没有,单纯适合做开发。各种工具安装非常方便,Linux 指令用起来也异常的舒服。

mac 是综合了 windows 与 linux 的优点,有不错的桌面系统,并且有不错的开发体验。有最好的办公体验,但是生态闭环,娱乐比不上 windows,开发体验比不上 Linux。

Linux

1991 年 林纳斯(Linus) 就读于赫尔辛基大学期间,对 Unix 产生浓厚兴趣,尝试着在 Minix 上做一些开发工作

因为 Minix 只是教学使用,因此功能并不强,林纳斯 经常要用他的终端 仿真器(Terminal Emulator) 去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些在后来成为了 Linux 第一个内核的雏形,当时,他年仅 21 岁!

林纳斯利用 GNU 的 bash 当做开发环境,gcc 当做编译工具,编写了 Linux 内核,一开始 Linux 并不能兼容 Unix

  • 即 Unix 上跑的应用程序不能在 Linux 上跑,即应用程序与内核之间的接口不一致
  • 一开始 Linux 只适用于 386,后来经过全世界的网友的帮助,最终能够兼容多种硬件

004_林纳斯

内核版本

内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层

Linux 内核版本又分为稳定版和开发版,两种版本是相互关联,相互循环

  • 稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些 bug 或加入一些新的驱动程序
  • 开发版:由于要试验各种解决方案,所以变化很快

内核源码网址:http://www.kernel.org

所有来自全世界的对 Linux 源码的修改最终都会汇总到这个网站,由 Linus 领导的开源社区对其进行甄别和修改最终决定是否进入到 Linux 主线内核源码中

发行版本

Linux 发行版(也被叫做 GNU/Linux 发行版)通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件

常见的发行版本如下:

  • Ubuntu
  • Redhat
  • Fedora
  • openSUSE
  • Linux Mint
  • Debian
  • Manjaro
  • Mageia
  • CentOS
  • Arch

应用领域

服务器领域

Linux 在服务器领域的应用是其重要分支

Linux 免费、稳定、高效等特点在这里得到了很好的体现

  • 早期因为维护、运行等原因同样受到了很大的限制
  • 近些年来 Linux 服务器市场得到了飞速的提升,尤其在一些高端领域尤为广泛

嵌入式领域

近些年来 Linux 在嵌入式领域的应用得到了飞速的提高

Linux 运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百 KB 等特点,使其近些年来在嵌入式领域的应用得到非常大的提高

主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、等都是其应用领域,得到了 Google、三星、摩托罗拉、NEC 等公司的大力推广

个人桌面领域

此领域是传统 Linux 应用最薄弱的环节

传统 Linux 由于界面简单、操作复杂、应用软件少的缺点,一直被 Windows 所压制

近些年来随着 Ubuntu、Fedora 等优秀桌面环境的兴起,同时各大硬件厂商对其支持的加大,Linux 在个人桌面领域的占有率在逐渐的提高

Linux 环境

云服务器使用

在以前学习时,一般是使用虚拟机。但其实使用云服务器学习效果会更好,提前适应云服务器平台的使用,等到工作时用起来就会非常舒服。

国内的云服务器提供商有很多,腾讯云、阿里云都可以。但是我这个教程使用腾讯云、轻量级服务进行学习。

腾讯云轻量级服务器:https://curl.qcloud.com/Bz8E5h5o

注意

如果有条件,建议直接上云服务器环境,一般在公司都是使用云平台的各种服务。

虚拟机

虚拟机有很多种

  • VMware Workstation Pro
  • WLS

使用云服务器会有额外的支持,但是使用虚拟机就很方便的。但是虚拟机比较吃资源,电脑配置不好的话会变卡。

分为桌面版与服务器版,桌面版类似 windows 有良好的可视化界面,服务器版本就只有一个黑窗口。如果只是做服务器部署,使用第二种就可以了。

安装的时候需要选取 LTS(长期支持) 版本,不然很容易就出现问题。

注意

虚拟环境对计算机的配置要求较高,配置麻烦、容易出问题,可以的话建议直接上云服务器。