Appearance
Linux 简介
本章将介绍 Linux 的历史、特点、主要发行版以及与 Windows 的区别,帮助你全面了解 Linux 操作系统。
什么是 Linux?
Linux 是一种自由和开放源代码的类 UNIX 操作系统。它由芬兰程序员林纳斯·托瓦兹(Linus Torvalds)于 1991 年首次发布,现在已成为世界上最流行的操作系统之一。
Linux 与 Unix 的关系
mermaid
graph TD
A[Unix 1969] --> B[各种商业Unix]
A --> C[Minix 1987]
C --> D[Linux 1991]
D --> E[Linux 发行版]
E --> F[Ubuntu]
E --> G[CentOS]
E --> H[Debian]
E --> I[Fedora]Linux 的历史
诞生背景
bash
# Linux 的诞生可以追溯到以下时间线:
# 1969年 - Ken Thompson 和 Dennis Ritchie 在贝尔实验室开发 Unix
# 1983年 - Richard Stallman 发起 GNU 项目,目标是创建自由的操作系统
# 1987年 - Andrew Tanenbaum 开发 Minix,用于教学目的
# 1991年 - Linus Torvalds 发布 Linux 内核第一个版本 (0.01)
# 1992年 - Linux 采用 GPL 许可证,成为自由软件
# 1994年 - Linux 1.0 正式发布版本号命名规则
Linux 内核版本号由三部分组成:主版本号.次版本号.修订号
bash
# 示例:5.15.0-generic
# 5 - 主版本号(重大架构变化)
# 15 - 次版本号(偶数表示稳定版,奇数表示开发版)
# 0 - 修订号(错误修复和安全更新)
# 查看当前系统内核版本
uname -r
# 输出示例:5.15.0-91-genericLinux 的特点
优点
| 特点 | 说明 |
|---|---|
| 开源免费 | 源代码公开,可自由使用、修改和分发 |
| 稳定可靠 | 可连续运行数年无需重启,服务器首选 |
| 安全高效 | 权限管理严格,病毒少,资源占用低 |
| 可定制性强 | 可根据需求定制内核和系统组件 |
| 多用户多任务 | 支持多用户同时登录,多任务并行处理 |
| 跨平台 | 支持多种硬件架构(x86、ARM、RISC-V 等) |
开源许可证
bash
# Linux 采用 GPL(GNU General Public License)许可证
# 主要特点:
# 1. 自由使用 - 可以任意运行软件
# 2. 自由研究 - 可以研究软件如何工作
# 3. 自由分发 - 可以复制和分发软件
# 4. 自由改进 - 可以改进软件并公开发布
# 查看系统许可证信息
cat /usr/share/common-licenses/GPL-3 | head -20Linux 发行版
Linux 发行版 = Linux 内核 + 软件包管理器 + 应用程序 + 桌面环境
主流发行版分类
mermaid
graph TD
A[Linux 发行版] --> B[Debian 系列]
A --> C[Red Hat 系列]
A --> D[Arch 系列]
A --> E[其他发行版]
B --> B1[Debian]
B --> B2[Ubuntu]
B --> B3[Linux Mint]
B --> B4[Kali Linux]
C --> C1[RHEL]
C --> C2[CentOS]
C --> C3[Fedora]
C --> C4[Rocky Linux]
D --> D1[Arch Linux]
D --> D2[Manjaro]
E --> E1[openSUSE]
E --> E2[Gentoo]
E --> E3[Slackware]常见发行版介绍
1. Debian 系列
Debian
bash
# 特点:稳定性极高,社区维护,完全免费
# 适用场景:服务器、开发环境
# 软件包管理:apt/dpkg
# 查看系统版本
cat /etc/debian_versionUbuntu
bash
# 特点:用户友好,文档丰富,社区活跃
# 适用场景:桌面、服务器、云平台
# 版本周期:每6个月发布一个版本,每2年发布一个LTS版本
# 查看Ubuntu版本
lsb_release -a
# 或
cat /etc/os-releaseKali Linux
bash
# 特点:预装安全测试工具
# 适用场景:渗透测试、安全审计
# 注意:不建议作为日常使用系统2. Red Hat 系列
RHEL (Red Hat Enterprise Linux)
bash
# 特点:企业级支持,稳定可靠,付费订阅
# 适用场景:企业服务器、关键业务系统
# 软件包管理:yum/dnf/rpmCentOS / Rocky Linux / AlmaLinux
bash
# 特点:RHEL 的免费替代品,二进制兼容
# 适用场景:服务器、企业环境
# CentOS 7 查看版本
cat /etc/centos-release
# Rocky Linux 查看版本
cat /etc/rocky-releaseFedora
bash
# 特点:最新技术试验场,更新频繁
# 适用场景:开发者、技术爱好者
# RHEL 的新功能先在 Fedora 测试3. Arch 系列
Arch Linux
bash
# 特点:滚动更新,高度可定制,文档完善
# 适用场景:高级用户、定制需求
# 软件包管理:pacman
# 查看系统信息
cat /etc/os-releaseManjaro
bash
# 特点:基于 Arch,用户友好,图形化安装
# 适用场景:桌面用户、Linux 初学者发行版选择建议
| 使用场景 | 推荐发行版 | 理由 |
|---|---|---|
| 初学者桌面 | Ubuntu / Linux Mint | 用户友好,文档丰富 |
| 服务器 | CentOS / Rocky / Ubuntu Server | 稳定,长期支持 |
| 开发环境 | Ubuntu / Fedora / Debian | 软件包新,社区支持好 |
| 安全测试 | Kali Linux | 预装安全工具 |
| 高级用户 | Arch Linux / Gentoo | 高度可定制 |
| 企业生产 | RHEL / Rocky Linux | 企业支持,稳定可靠 |
Linux 与 Windows 的区别
架构对比
mermaid
graph LR
subgraph Linux架构
A1[应用程序] --> B1[Shell]
B1 --> C1[系统调用]
C1 --> D1[内核]
D1 --> E1[硬件]
end
subgraph Windows架构
A2[应用程序] --> B2[Win32 API]
B2 --> C2[子系统]
C2 --> D2[内核]
D2 --> E2[硬件]
end主要区别对比
| 特性 | Linux | Windows |
|---|---|---|
| 内核类型 | 单内核(模块化) | 混合内核 |
| 文件系统 | ext4、XFS、Btrfs | NTFS、FAT32 |
| 路径分隔符 | / (正斜杠) | \ (反斜杠) |
| 配置文件 | 文本文件 | 注册表 + 文本文件 |
| 软件安装 | 包管理器 | 安装程序(.exe/.msi) |
| 权限模型 | 用户/组/其他 | ACL |
| 大小写敏感 | 是 | 否 |
| 命令行 | Shell (bash/zsh等) | CMD/PowerShell |
文件路径对比
bash
# Linux 路径示例
/home/user/documents/file.txt # 绝对路径
./documents/file.txt # 相对路径
../config/app.conf # 上级目录
# Windows 路径示例
C:\Users\user\documents\file.txt # 绝对路径
.\documents\file.txt # 相对路径
..\config\app.conf # 上级目录命令对比
| 功能 | Linux | Windows (CMD) | Windows (PowerShell) |
|---|---|---|---|
| 列出文件 | ls | dir | ls / dir |
| 切换目录 | cd | cd | cd |
| 复制文件 | cp | copy | Copy-Item |
| 移动文件 | mv | move | Move-Item |
| 删除文件 | rm | del | Remove-Item |
| 创建目录 | mkdir | mkdir | mkdir |
| 查看文件 | cat | type | Get-Content |
| 清屏 | clear | cls | Clear-Host |
| 查找文本 | grep | find | Select-String |
Linux 系统架构
分层结构
mermaid
graph TB
A[用户] --> B[应用程序]
B --> C[Shell/图形界面]
C --> D[系统调用接口]
D --> E[Linux 内核]
E --> F[硬件驱动]
F --> G[硬件]
subgraph 用户空间
B
C
end
subgraph 内核空间
D
E
F
end内核功能
bash
# Linux 内核的主要功能:
# 1. 进程管理 - 创建、调度、终止进程
# 2. 内存管理 - 内存分配、虚拟内存、分页
# 3. 文件系统 - 文件操作、目录管理
# 4. 设备驱动 - 硬件设备管理
# 5. 网络功能 - 网络协议栈
# 6. 安全机制 - 权限控制、SELinux
# 查看内核模块
lsmod
# 查看内核参数
sysctl -a | head -20Linux 应用领域
服务器领域
bash
# Linux 在服务器市场占有率超过 90%
# 主要应用:
# - Web 服务器(Nginx、Apache)
# - 数据库服务器(MySQL、PostgreSQL)
# - 应用服务器(Tomcat、Node.js)
# - 云计算平台(OpenStack、Kubernetes)
# 查看系统服务
systemctl list-units --type=service开发领域
bash
# Linux 是开发者的首选平台
# 主要应用:
# - 编程语言支持(Python、Java、C/C++、Go)
# - 开发工具(Vim、VSCode、Git)
# - 容器技术(Docker、Podman)
# - CI/CD(Jenkins、GitLab CI)
# 查看已安装的开发工具
which python3 java gcc docker git嵌入式领域
bash
# Linux 广泛应用于嵌入式设备
# 主要应用:
# - 路由器(OpenWrt)
# - 智能手机(Android 基于 Linux 内核)
# - 智能家居
# - 工业控制系统
# - 汽车电子系统学习 Linux 的意义
- 职业发展:服务器管理、云计算、DevOps 等岗位必备技能
- 技术成长:深入理解操作系统原理
- 开源精神:参与开源社区,提升编程能力
- 效率提升:命令行操作效率远高于图形界面
- 成本节约:Linux 免费且资源占用低
小结
本章介绍了 Linux 的基本概念、历史发展、主要特点、发行版选择以及与 Windows 的区别。通过本章学习,你应该对 Linux 有了初步的认识,为后续学习打下基础。
关键要点
- Linux 是开源免费的类 Unix 操作系统
- 发行版众多,应根据使用场景选择合适的版本
- Linux 与 Windows 在架构、文件系统、命令等方面存在差异
- Linux 广泛应用于服务器、开发、嵌入式等领域
下一步
下一章我们将学习 如何安装 Linux,包括虚拟机安装、双系统安装和 WSL 配置等方法。
