Skip to content

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-generic

Linux 的特点

优点

特点说明
开源免费源代码公开,可自由使用、修改和分发
稳定可靠可连续运行数年无需重启,服务器首选
安全高效权限管理严格,病毒少,资源占用低
可定制性强可根据需求定制内核和系统组件
多用户多任务支持多用户同时登录,多任务并行处理
跨平台支持多种硬件架构(x86、ARM、RISC-V 等)

开源许可证

bash
# Linux 采用 GPL(GNU General Public License)许可证
# 主要特点:
# 1. 自由使用 - 可以任意运行软件
# 2. 自由研究 - 可以研究软件如何工作
# 3. 自由分发 - 可以复制和分发软件
# 4. 自由改进 - 可以改进软件并公开发布

# 查看系统许可证信息
cat /usr/share/common-licenses/GPL-3 | head -20

Linux 发行版

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_version

Ubuntu

bash
# 特点:用户友好,文档丰富,社区活跃
# 适用场景:桌面、服务器、云平台
# 版本周期:每6个月发布一个版本,每2年发布一个LTS版本

# 查看Ubuntu版本
lsb_release -a
# 或
cat /etc/os-release

Kali Linux

bash
# 特点:预装安全测试工具
# 适用场景:渗透测试、安全审计
# 注意:不建议作为日常使用系统

2. Red Hat 系列

RHEL (Red Hat Enterprise Linux)

bash
# 特点:企业级支持,稳定可靠,付费订阅
# 适用场景:企业服务器、关键业务系统
# 软件包管理:yum/dnf/rpm

CentOS / Rocky Linux / AlmaLinux

bash
# 特点:RHEL 的免费替代品,二进制兼容
# 适用场景:服务器、企业环境
# CentOS 7 查看版本
cat /etc/centos-release

# Rocky Linux 查看版本
cat /etc/rocky-release

Fedora

bash
# 特点:最新技术试验场,更新频繁
# 适用场景:开发者、技术爱好者
# RHEL 的新功能先在 Fedora 测试

3. Arch 系列

Arch Linux

bash
# 特点:滚动更新,高度可定制,文档完善
# 适用场景:高级用户、定制需求
# 软件包管理:pacman

# 查看系统信息
cat /etc/os-release

Manjaro

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

主要区别对比

特性LinuxWindows
内核类型单内核(模块化)混合内核
文件系统ext4、XFS、BtrfsNTFS、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                # 上级目录

命令对比

功能LinuxWindows (CMD)Windows (PowerShell)
列出文件lsdirls / dir
切换目录cdcdcd
复制文件cpcopyCopy-Item
移动文件mvmoveMove-Item
删除文件rmdelRemove-Item
创建目录mkdirmkdirmkdir
查看文件cattypeGet-Content
清屏clearclsClear-Host
查找文本grepfindSelect-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 -20

Linux 应用领域

服务器领域

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 的意义

  1. 职业发展:服务器管理、云计算、DevOps 等岗位必备技能
  2. 技术成长:深入理解操作系统原理
  3. 开源精神:参与开源社区,提升编程能力
  4. 效率提升:命令行操作效率远高于图形界面
  5. 成本节约:Linux 免费且资源占用低

小结

本章介绍了 Linux 的基本概念、历史发展、主要特点、发行版选择以及与 Windows 的区别。通过本章学习,你应该对 Linux 有了初步的认识,为后续学习打下基础。

关键要点

  • Linux 是开源免费的类 Unix 操作系统
  • 发行版众多,应根据使用场景选择合适的版本
  • Linux 与 Windows 在架构、文件系统、命令等方面存在差异
  • Linux 广泛应用于服务器、开发、嵌入式等领域

下一步

下一章我们将学习 如何安装 Linux,包括虚拟机安装、双系统安装和 WSL 配置等方法。