Linux: Linux简介——开源操作系统革命
Linux 是所有开发者迟早都要面对的操作系统。无论是部署后端服务、配置数据库、还是跑 CI/CD 流水线,服务器上跑的大概率是 Linux。
📋 前置知识:零基础可学,无需先修课程
1. 你将学到
- Linux 与 Windows/macOS 的本质区别
- 开源哲学与 GNU/Linux 的关系
- 主流发行版的选型策略
- Linux 在服务器领域的主导地位
- 桌面 Linux 的现状
2. 一个从未用过终端的新手故事
(1) 痛点:第一次面对服务器时的茫然
小明是一名刚转Linux的开发者。公司配了一台 MacBook,后端的同事们却在终端里飞速操作。他需要登录一台 Linux 服务器查看日志,打开终端后却连"ls 是什么"都不知道。
资深工程师 Bob 告诉他:"Linux 是每个开发者必备的技能——不是因为你要用它当桌面系统,而是因为互联网的绝大部分服务都跑在 Linux 上。"
(2) Linux 的解法
Bob 带小明认识 Linux:一个免费、开源、稳定到可以连续运行数年的操作系统内核。任何设备——从树莓派到 NASA 火星车——都可以运行它。
# 查看一台 Linux 服务器已经运行了多久
uptime
# 输出示例:10:23 up 187 days, 4 users, load average: 0.08 0.03 0.01
(3) 收益:理解基础设施
小明学完本课后理解了他每天使用的 GitHub、Netflix、YouTube 背后的操作系统是什么——以及为什么 Linux 能统治服务器市场。
3. 知识点讲解
(1) 什么是 Linux
Linux 严格来说只是一个内核(Kernel)——操作系统的核心组件,负责管理硬件资源、进程调度、文件系统等。1991 年,芬兰大学生 Linus Torvalds 发布了它的第一个版本。
但人们通常所说的"Linux"实际上是指 GNU/Linux 操作系统——Linux 内核 + GNU 工具集(cp/mv/ls/bash 等命令)的完整组合。
(2) Linux vs Windows vs macOS
三大操作系统在设计与哲学上有根本区别:
| 维度 | Linux | Windows | macOS |
|---|---|---|---|
| 内核 | Linux(开源) | NT(闭源) | XNU(开源部分) |
| 包管理 | apt/yum/dnf | EXE/MSI | Homebrew |
| 命令行 | bash/zsh(核心体验) | PowerShell(附加) | zsh(类 Linux) |
| 文件系统 | ext4/XFS/Btrfs | NTFS | APFS |
| 桌面环境 | GNOME/KDE(可按需选) | 固定桌面 | Aqua |
| 许可证 | GPL(开源免费) | 商业授权 | 商业授权 |
| 主要市场 | 服务器 / 嵌入式 | 桌面 / 企业 | 桌面 / 创作 |
(3) 主流发行版家族
Linux 有数百个发行版,但核心家族只有四个:
| 家族 | 包管理 | 代表发行版 | 适合场景 |
|---|---|---|---|
| Debian 系 | apt/.deb | Ubuntu、Debian、Linux Mint | 入门首选、服务器 |
| RHEL 系 | yum/dnf/.rpm | RHEL、Fedora、CentOS | 企业服务器 |
| Arch 系 | pacman | Arch Linux、Manjaro | 爱好者、最新软件 |
| Alpine | apk | Alpine Linux | Docker 镜像最小化 |
(4) 为什么服务器都用 Linux
- 免费:无需支付 Windows Server 的授权费
- 稳定:一台服务器可以连续运行数年不用重启
- 远程友好:SSH 终端管理,不需要图形界面
- 资源占用低:命令行界面只需要几百 MB 内存
- 生态完善:Nginx/MySQL/Python/Node.js 等优先支持 Linux
- 容器化:Docker/Kubernetes 都原生运行在 Linux 上
▶ 示例:查看 Linux 内核版本
uname -r
# 输出示例:5.15.0-91-generic
输出:
TEXT 📖 仅展示5.15.0-91-generic
▶ 示例:查看发行版信息
lsb_release -a
# 输出示例:
# Distributor ID: Ubuntu
# Description: Ubuntu 22.04.3 LTS
# Release: 22.04
# Codename: jammy
▶ 示例:查看系统运行时间
uptime
# 输出示例:10:23:45 up 187 days, 4 users, load average: 0.08 0.03 0.01
输出:
TEXT 📖 仅展示10:23:45 up 187 days, 4 users, load average: 0.08, 0.03, 0.01
▶ 示例:查看 CPU 和内存信息
# CPU 信息
lscpu | grep "Model name"
# 内存总量
free -h | grep Mem
输出:
TEXT 📖 仅展示Model name: Intel(R) Core(TM) i7-12700K Mem: 15Gi 4.0Gi 11Gi 256Mi 2.0Gi 11Gi
▶ 示例:列出所有发行版的包管理命令对比
# Debian/Ubuntu
sudo apt install nginx
# RHEL/Fedora/CentOS
sudo yum install nginx # 或 dnf
sudo dnf install nginx
# Arch
sudo pacman -S nginx
# Alpine
apk add nginx
输出:
TEXT 📖 仅展示Reading package lists... Done Building dependency tree... Done The following NEW packages will be installed: nginx 0 upgraded, 1 newly installed, 0 to remove. Need to get 42.3 kB of archives.
▶ 综合示例:认识你的 Linux 系统
登录一台 Linux 机器(或 WSL),依次执行以下命令了解它的基本信息:
echo "=== 内核版本 ===" && uname -r && \
echo "=== 发行版 ===" && lsb_release -d && \
echo "=== 运行时间 ===" && uptime && \
echo "=== CPU ===" && lscpu | grep "Model name" && \
echo "=== 内存 ===" && free -h | grep Mem
❓ 常见问题
Q: Linux 和 Unix 有什么区别? A: Unix 是 1970 年代贝尔实验室开发的操作系统,商业授权且闭源。Linux 是 Linus Torvalds 重新编写的类 Unix 内核,完全开源免费,不包含任何 Unix 代码。Linux 被描述为"Unix-like"(类 Unix)。
Q: 为什么大多数服务器都用 Linux? A: 免费(省去 Windows Server 授权费)、稳定(可跑数年不重启)、资源占用低(CLI 只需几百 MB 内存)、远程管理友好(SSH)、生态完善(几乎所有服务器软件都优先支持 Linux)。
Q: 哪个发行版最适合入门? A: \1
Q: 桌面 Linux 适合日常使用吗? A: 适合普通办公(浏览器/办公软件/开发工具),但仍有短板:Adobe 全家桶不可用、部分游戏不支持、腾讯生态(微信/QQ)体验一般。作为开发者,推荐 Windows/Mac 做桌面 + WSL/虚拟机做开发。
Q: Linux 内核和 GNU/Linux 有什么关系? A: \1
📖 小节
- Linux 是一个开源内核,1991 年由 Linus Torvalds 创建
- 完整操作系统称为 GNU/Linux(Linux 内核 + GNU 工具集)
- 四大发行版家族:Debian 系 / RHEL 系 / Arch 系 / Alpine
- Linux 统治服务器市场的主要原因:免费、稳定、远程友好、容器原生支持
- 推荐初学者使用 Ubuntu LTS 入门
📝 作业
- 基础题(难度⭐):用搜索引擎查找"Linux 市场份额 2025",了解服务器、桌面、嵌入式三个市场的占比差异
- 进阶题(难度⭐⭐):在 Ubuntu 官网和 Fedora 官网对比两者的定位区别(桌面 vs 服务器、稳定性 vs 新特性),并用表格整理对比结果
- 挑战题(难度⭐⭐⭐):列出你每天使用的 5 个网站/应用,查找它们是否运行在 Linux 上(提示:查看 WhoIsHostingThis),并总结 Linux 在互联网基础设施中的角色