Linux 教程

Ubuntu 版

第一章、Linux系统入门

前言

本课程是 针对零基础学员的 Linux 教程。本课程将从安装Linux 操作系统开始,逐渐深入讲解 Linux 操作系统的使用及开发。

本课程是 Linux 运维和 Linux 开发人员的基础教程。如果你是想把梦想变成现实的人,推荐学习此课程。

本课程会实时更新。本人保证本站的过时的内容及时清理,现存的所有内容都有效且可操作。

为什么要学习 Linux?

  1. Linux 在服务器市场占据了 90% 以上的市场份额,腾讯游戏、网易游戏大部分后端都是Linux 服务器。
  2. 移动终端市场占有率高。目前的安卓手机、原生 HarmonyOS 5.0 系统手机 的底层都是 Linux 操作系统。
  3. 运维和开发人员必须精通 Linux 操作系统。进大厂企业 Linux 是必经之路。

为什么要学习 Ubuntu Linux?

  1. 图形化界面、完善的驱动支持,对新手最友好。
  2. 软件生态丰富。
  3. 企业级支持与稳定性。
  4. 70% Linux 开发人员的首选操作系统。

让我们先来了解一下 Linux 操作系统。

Linux 操作系统是仿照 Unix 设计,广泛应用于服务器、嵌入式设备、超级计算机以及个人电脑的多任务操作系统。

它的特点是可裁剪、稳定、安全,并支持多用户的操作系统。

其实我们常说的 Linux 应当是指 Linux 内核。Linux 内核,由 Linus Torvalds 于 1991 年首次发布,后来经过几次比较大的框架行的改动,最近的一次大的框架性的改动是2003年12月发布的 Linux 2.6 的 内核,后续的版本都是在2.6 内核的基础上进行的扩充功能的调整,没有做大的框架性的改动。目前的最新的版本已经是6.14.6。

Linux 创始人 Linus Torvalds:

Linus Torvalds

Linux 内核是开源的系统,你可以去Linux 内核的官方网站:https://kernel.org/ 下载和编译内核以运行在你自己的硬件系统上。如图

Linux 内核官网页面

Linux 内核是由 C语言结合汇编语言编写的。他的主要作用是管理CPU、内存、以及外设(蓝牙、网络、键盘鼠标等),同时会对应用软件的启动,进程调度,运行权限、进程间通信等进行管理。他是运行于 “内核态” 的程序。是最重要的操作程序。

相比于 Windows 和 MacOS 系统,Linux 的优缺点

优点

  1. 开源与免费,无需支付授权费用。
  2. 内核可裁剪,很容易运行在资源有限的嵌入式系统中。
  3. 效率高,驱动程序等都运行在同一个单体内核中,可以通过共享内存进行通信,无需复制数据,减少次数,运行速度快。
  4. 安全性高,用户没有获取 root 权限,对系统的攻击难度极高,保证了系统的稳定性和安全性。
  5. 开发容易,各种开发工具,如 gcc、g++、python、docker 等都支持Linux 系统且都免费。

缺点

  1. 单体内核。所有的驱动程序,进程调度,内存管理都运行在一个内核进程中,一旦有驱动程序等内核态程序含有破坏性代码,则对整个系统造成安全隐私泄露,甚至宕机。
  2. 硬件兼容性差,很多显卡、打印机等都没有对应的驱动程序,用户体验比较差。

Linux 的发行版

现在很多人说的 Linux 操作系统其实是在 Linux 内核的基础上,各个发行版厂商自己开发了桌面系统和应用程序管理系统的总称。如 Ubuntu、Debian、CentOS、Redhat、Fedora等。这些发行版有些是免费的,如: Ubuntu 和 CentOS,还有 Radhat 和 Debian 是收费的。

目前我在工作中了解到,服务器部署常用 CentOS,软件开发常用 Ubuntu。因为 Ubuntu 的生态相对做的比较好些。

本课程将以 Ubuntu 系统为起点,让大家尽快了解 Linux 操作系统。

练习:

  1. Linux 从第一版发布到现在已经过去多少年?
  2. 什么是单体内核?他和微内核对比有什么优缺点?(可以借助人工智能)。