Linux操作系统概述
一、什么是Linux?
知识点说明:
Linux 是一个开源、免费、多用户、多任务、支持多线程和多CPU的操作系统内核。它最初由 Linus Torvalds 于1991年开发,基于 UNIX 的设计理念,但不包含任何 UNIX 源代码。
注意:严格来说,"Linux"指的是内核(Kernel),而我们日常所说的"Linux系统"通常指基于 Linux 内核 + GNU 工具组成的完整操作系统(即 GNU/Linux)。
二、Linux 与 UNIX 的发展历史
1. UNIX 发展简史
- 1969年:AT&T 贝尔实验室 Ken Thompson 开发 UNIX。
- 1973年:用 C 语言重写,实现可移植性。
- 1980年代:商业 UNIX(如 Solaris、AIX、HP-UX)兴起。
- 版权封闭,价格昂贵。
2. 类 UNIX 系统
- 指遵循 POSIX 标准、行为类似 UNIX 的系统。
- 包括:Linux、FreeBSD、OpenBSD、macOS(Darwin 内核)等。
3. Linux 的诞生(1991)
- Linus Torvalds 在 MINIX 系统上开发了一个类 UNIX 内核。
- 首次发布于 Usenet 新闻组 comp.os.minix。
- 初始版本仅支持 Intel 80386 架构。
4. GNU 与 GPL
- GNU 项目(1983,Richard Stallman):目标是创建一个完全自由的操作系统。
- GPL(GNU General Public License):确保软件自由使用、修改、分发,且衍生作品也必须开源("传染性")。
- Linux 内核采用 GPL v2 协议,与 GNU 工具结合形成完整系统。
✅ 案例:查看当前系统是否为 GNU/Linux
bash
# 查看内核版本(Linux)
uname -r
# 查看 GNU 工具版本(如 Bash)
bash --version
# 组合判断:若两者都存在,则为 GNU/Linux 系统
echo "This is a $(uname -s) system with GNU userland."
三、Linux 内核与发行版
1. Linux 内核(Kernel)
- 负责硬件管理、进程调度、内存管理、文件系统、网络等。
- 版本号格式:
主版本.次版本.修订号(如 6.8.0)- 偶数次版本(如 6.8)曾表示稳定版(2004年后取消此规则)。
- 官方源码:https://www.kernel.org/
2. Linux 发行版(Distribution)
- 将 Linux 内核 + GNU 工具 + 软件包管理器 + 桌面环境等打包成可用系统。
- 主要分类:
- 社区驱动:Debian、Arch、Fedora
- 商业支持:Red Hat Enterprise Linux (RHEL)、SUSE Linux Enterprise (SLE)
- 国产发行版:统信 UOS、麒麟 Kylin、OpenEuler
3. 代表性发行版对比
| 发行版 | 包管理器 | 初始化系统 | 目标用户 |
|---|---|---|---|
| Ubuntu | apt (deb) | systemd | 桌面/初学者 |
| CentOS/Rocky | yum/dnf (rpm) | systemd | 企业服务器 |
| Arch Linux | pacman | systemd | 高级用户/极客 |
| openSUSE | zypper (rpm) | systemd | 企业/开发者 |
4. 市场占有率(2025年估计)
- 服务器领域:>90%(主要为 RHEL、Ubuntu Server、Debian)
- 云计算:AWS、Azure、GCP 默认镜像多为 Ubuntu 或 Amazon Linux
- 移动终端:Android(基于 Linux 内核)占全球智能手机 >70%
- 桌面:<5%,但开发者群体中 Ubuntu、Fedora 使用率高
四、Linux 主要应用领域(附案例)
1. 企业级服务器
- Web 服务器(Nginx/Apache)、数据库(MySQL/PostgreSQL)、邮件服务器等。
bash
# 安装 Apache Web 服务器(Ubuntu)
sudo apt update
sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2
# 访问 http://<服务器IP> 查看默认页面
2. 移动终端(Android)
- Android = Linux 内核 + Bionic C 库 + Dalvik/ART 虚拟机 + 应用框架
- 开发者可通过 ADB 调试设备(底层仍是 Linux 命令)
3. 物联网 / 车联网
- 使用轻量发行版如 Yocto、Buildroot 构建定制系统。
- 示例:树莓派运行 Raspberry Pi OS(Debian 衍生)
4. 桌面办公
- LibreOffice、Firefox、Thunderbird 等替代 Windows 软件。
- 支持 WPS、微信(通过 Wine 或原生版)
5. 云计算 & 大数据 & AI
- Docker、Kubernetes 运行于 Linux
- TensorFlow/PyTorch 官方推荐 Ubuntu
bash
# 安装 Docker(Ubuntu 22.04+)
sudo apt update
sudo apt install ca-certificates curl gnupg -y
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
sudo usermod -aG docker $USER # 将当前用户加入 docker 组
五、Linux 系统安装部署(以 Ubuntu 24.04 LTS 为例)
步骤 1:准备安装介质
- 下载 ISO 镜像:https://ubuntu.com/download/desktop
- 制作启动U盘(Windows 使用 Rufus;Linux 使用
dd或balenaEtcher)
bash
# Linux 下使用 dd 命令写入U盘(谨慎操作!)
sudo dd if=~/Downloads/ubuntu-24.04-desktop-amd64.iso of=/dev/sdX bs=4M status=progress oflag=sync
# 注意:sdX 是U盘设备名(如 sdb),可通过 lsblk 确认
步骤 2:BIOS/UEFI 设置
- 重启电脑,进入 BIOS(通常按 F2/F12/Del)
- 将 U 盘设为第一启动项
- 若支持,选择 UEFI 模式(非 Legacy)
步骤 3:图形化安装流程
- 选择 "Install Ubuntu"
- 选择语言 → 键盘布局
- 安装类型 :
- "Normal installation"(常规)
- 勾选 "Download updates while installing" 和 "Install third-party software"
- 分区方案(关键!) :
- 简单模式:选择 "Erase disk and install Ubuntu"(仅用于测试机)
- 手动分区(生产推荐) :
/boot/efi:512MB,EFI System Partition(ESP)/(根分区):30--50GB,ext4swap:等于或略大于内存(如 8GB)/home:剩余空间,存放用户数据
- 设置时区、用户名、密码
- 等待安装完成(约10--20分钟)
- 重启,拔出U盘
步骤 4:首次启动后配置
bash
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装常用工具
sudo apt install vim git curl wget htop net-tools -y
# 查看系统信息
lsb_release -a # 发行版信息
uname -a # 内核与架构
df -h # 磁盘使用
free -h # 内存使用
六、核心命令行语法与案例(带注释)
1. 文件与目录操作
bash
# 创建目录并进入
mkdir -p ~/projects/linux_intro # -p 自动创建父目录
cd ~/projects/linux_intro
# 创建文件并写入内容
echo "# My First Linux Project" > README.md
echo "Date: $(date)" >> README.md # >> 追加内容
# 查看文件权限
ls -l README.md
# 输出示例:-rw-r--r-- 1 user user 35 Dec 18 08:00 README.md
# 权限解释:-(普通文件) rw-(所有者可读写) r--(组只读) r--(其他只读)
2. 用户与权限管理
bash
# 添加新用户(需 root 权限)
sudo adduser devuser
# 将用户加入 sudo 组(Ubuntu)
sudo usermod -aG sudo devuser
# 修改文件所有者
sudo chown devuser:devuser README.md
# 修改权限:所有者可执行
chmod u+x script.sh
3. 软件包管理(APT 示例)
bash
# 搜索软件包
apt search nginx
# 安装指定版本
sudo apt install nginx=1.18.0-6ubuntu14.4
# 查看已安装包信息
apt show nginx
# 卸载(保留配置)
sudo apt remove nginx
# 彻底卸载(含配置)
sudo apt purge nginx
4. 系统服务管理(systemd)
bash
# 启动/停止/重启服务
sudo systemctl start ssh
sudo systemctl stop ssh
sudo systemctl restart ssh
# 查看服务状态
systemctl status ssh
# 开机自启
sudo systemctl enable ssh
七、本章小结
- Linux 是基于 UNIX 思想的开源操作系统内核,与 GNU 工具共同构成完整系统。
- 发行版众多,适用于从嵌入式设备到超算的全场景。
- 安装过程需注意分区、引导模式(UEFI/Legacy)、用户设置。
- 命令行是 Linux 管理的核心,掌握基础命令、权限、服务管理至关重要。
- 在云计算、AI、物联网时代,Linux 是基础设施的"基石"。
📌 提示:建议初学者在虚拟机(如 VirtualBox、VMware)中练习安装,避免影响主系统。
如需后续章节(如 Shell 编程、文件系统、网络配置等)的详细知识点与代码案例,可继续提出。