跳转至

Linux 基础入门

Linux基础入门

📌 学习时间:2-3天 📌 难度级别:⭐ 入门 📌 前置知识:基本计算机操作


📚 章节概述

本章将介绍 Linux 操作系统的发展历史、核心概念,帮助你了解主流发行版的区别,掌握多种安装方法,深入理解 Linux 目录结构与文件系统层次标准(FHS)。这是所有 Linux 学习的起点。

🎯 学习目标

  • 了解 Linux 的发展历史和设计哲学
  • 区分 Linux 内核与发行版的关系
  • 掌握主流发行版(Ubuntu/CentOS/Debian)的特点
  • 能通过虚拟机、WSL 或云服务器搭建 Linux 环境
  • 深入理解目录结构和 FHS 标准

📖 1. Linux 发展历史

1.1 Unix 的诞生

Linux 的故事要从 Unix 说起。

重要时间节点:

年份 事件
1969 Ken Thompson 和 Dennis Ritchie 在贝尔实验室创建 Unix
1973 Unix 用 C 语言重写,实现可移植性
1983 Richard Stallman 发起 GNU 项目
1985 FSF(自由软件基金会)成立
1991 Linus Torvalds 发布 Linux 内核 0.01
1992 Linux 采用 GPL 许可证
1993 Debian 和 Slackware 发行版诞生
1994 Linux 1.0 内核发布
2004 Ubuntu 4.10 首次发布
2011 Linux 3.0 内核发布
2024 Linux 6.x 内核,全球超 96% 的 Web 服务器运行 Linux

1.2 Linux 之父 - Linus Torvalds

1991 年,芬兰赫尔辛基大学的学生 Linus Torvalds 在 comp.os.minix 新闻组发布了一条历史性消息:

"Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones."

这个"业余爱好"在用 C 语言重写了 Unix 的关键概念之后,成为了现代计算基础设施的基石。

1.3 Linux 设计哲学

Linux 继承了 Unix 的核心设计哲学:

Text Only
1. 一切皆文件(Everything is a file)
   - 普通文件、目录、设备、管道都统一为文件抽象

2. 小即是美(Small is beautiful)
   - 每个工具只做一件事,并把它做好

3. 组合工具(Combine tools)
   - 通过管道和重定向将简单工具组合成强大的处理流水线

4. 文本即通用接口(Text is a universal interface)
   - 配置文件、日志、进程间通信都使用纯文本

5. 沉默是金(Silence is golden)
   - 命令成功时不输出信息,只在出错时报告

1.4 Linux 内核与发行版

理解内核与发行版的关系是学 Linux 的第一步:

Text Only
┌──────────────────────────────────────┐
│           Linux 发行版                │
│  ┌────────────────────────────────┐  │
│  │     应用程序                    │  │
│  │  (Firefox, LibreOffice, etc.)  │  │
│  ├────────────────────────────────┤  │
│  │     桌面环境                    │  │
│  │  (GNOME, KDE, XFCE)           │  │
│  ├────────────────────────────────┤  │
│  │     系统工具 & 库               │  │
│  │  (GNU工具链, glibc, systemd)   │  │
│  ├────────────────────────────────┤  │
│  │     包管理系统                  │  │
│  │  (apt, yum, pacman)           │  │
│  ├────────────────────────────────┤  │
│  │     Linux 内核                  │  │
│  │  (进程调度/内存管理/设备驱动)    │  │
│  └────────────────────────────────┘  │
│           硬件层                      │
└──────────────────────────────────────┘

Linux 内核 负责: - 进程管理:创建、调度、终止进程 - 内存管理:虚拟内存、页面分配 - 设备驱动:与硬件通信 - 文件系统:ext4、XFS、Btrfs 等 - 网络协议栈:TCP/IP 实现

Linux 发行版 = Linux 内核 + GNU 工具 + 包管理器 + 桌面环境 + 应用软件


📖 2. 主流发行版介绍

2.1 发行版家族树

Text Only
Linux 内核
  ├── Debian 系
  │   ├── Debian(稳定、适合服务器)
  │   ├── Ubuntu(最流行的桌面/服务器版)
  │   │   ├── Linux Mint
  │   │   └── Pop!_OS
  │   └── Kali Linux(安全渗透测试)
  ├── Red Hat 系
  │   ├── RHEL(企业级,收费支持)
  │   ├── CentOS(已EOL:7于2024年6月、8于2021年12月停止维护)
  │   ├── CentOS Stream(滚动发布,RHEL上游)
  │   ├── Rocky Linux(CentOS 替代品,推荐)⭐
  │   ├── AlmaLinux(CentOS 替代品,推荐)⭐
  │   └── Fedora(技术前沿,开发者)
  ├── Arch 系
  │   ├── Arch Linux(滚动更新,DIY)
  │   └── Manjaro(Arch 的易用版)
  ├── SUSE 系
  │   ├── openSUSE
  │   └── SLES(企业版)
  └── 其他
      ├── Gentoo(源码编译)
      ├── Alpine(轻量级,Docker常用)
      └── NixOS(声明式配置)

2.2 Ubuntu

版本策略: - LTS(长期支持版):每2年发布,支持5年(如 22.04, 24.04) - 非 LTS:每6个月发布,支持9个月

特点: - 📦 最大的软件仓库(超过 60,000 个包) - 🖥️ 优秀的桌面体验(GNOME 桌面环境) - 📖 最完善的文档和社区支持 - ☁️ 云计算领域市场份额第一 - 🐳 Docker 官方推荐基础镜像

适用场景

Bash
# 常用 Ubuntu 命令
# 更新软件包列表
sudo apt update

# 升级已安装的包
sudo apt upgrade

# 安装软件
sudo apt install nginx

# 查看系统版本
lsb_release -a

2.3 CentOS / Rocky Linux / AlmaLinux

历史变迁: - CentOS(2004-2024):RHEL 的免费社区版,企业服务器首选 - 2020年底:Red Hat 宣布 CentOS 8 停止维护(2021年12月31日EOL),转为 CentOS Stream - 2024年6月:CentOS 7 正式EOL(End of Life),不再提供安全更新 - Rocky Linux 和 AlmaLinux 作为 CentOS 的直接替代品出现,二进制兼容 RHEL

⚠️ 重要提示:CentOS ⅞ 均已停止维护,新项目强烈建议使用 Rocky Linux 9 或 AlmaLinux 9。现有 CentOS 系统应尽快迁移。

特点: - 🏢 企业级稳定性 - 🔒 安全性高,SELinux 默认开启 - 📅 长生命周期(RHEL 支持10年) - 🌐 运维和企业环境使用广泛

适用场景

Bash
# CentOS/Rocky Linux 常用命令
# 更新软件包
sudo yum update        # CentOS 7
sudo dnf update        # CentOS 8+ / Rocky Linux

# 安装软件
sudo yum install nginx
sudo dnf install nginx

# 查看系统版本
cat /etc/redhat-release

2.4 Debian

特点: - 🏛️ 历史最悠久的活跃发行版(1993年至今) - 🪨 极致稳定(软件版本偏保守) - 🌍 支持10+种 CPU 架构 - 📦 Ubuntu 的上游

版本命名:以《玩具总动员》角色命名 - Debian 11 "Bullseye" - Debian 12 "Bookworm" - Debian 13 "Trixie"

Bash
# Debian 常用命令(与 Ubuntu 基本相同)
sudo apt update && sudo apt upgrade
cat /etc/debian_version

2.5 三大发行版对比

特性 Ubuntu CentOS/Rocky Debian
包管理器 apt (dpkg) yum/dnf (rpm) apt (dpkg)
默认 Shell bash bash bash
发布周期 6个月/2年LTS 跟随 RHEL 约2年
版本策略 定期发布 企业版跟随 稳定优先
企业支持 Canonical Red Hat 社区
适合场景 开发/云/桌面 企业服务器 服务器/嵌入式
社区活跃度 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐
上手难度 简单 中等 中等

💡 面试提示:面试时经常问到"你常用哪个 Linux 发行版?为什么?"。建议选择一个深入使用,理解其包管理和服务管理方式。


📖 3. 安装方法

3.1 方案一:WSL2(Windows 用户推荐)

WSL(Windows Subsystem for Linux)是微软提供的在 Windows 上运行 Linux 的方案。

WSL2 优势: - 完整的 Linux 内核 - 极快的文件系统性能 - 与 Windows 无缝集成 - 支持 Docker - 开机即用,无需单独启动

安装步骤

Bash
# 1. 以管理员身份打开 PowerShell
# 2. 安装 WSL
wsl --install

# 3. 安装指定发行版
wsl --install -d Ubuntu-22.04

# 4. 查看可用发行版
wsl --list --online

# 5. 查看已安装发行版
wsl --list --verbose

# 6. 重启电脑后,从开始菜单打开 Ubuntu
# 7. 设置用户名和密码

WSL2 配置优化

Bash
# 创建 WSL 配置文件 (Windows 侧)
# 文件位置: C:\Users\<用户名>\.wslconfig
[wsl2]
memory=4GB           # 限制 WSL 内存
processors=2         # 限制 CPU 核数
swap=2GB            # 交换分区大小
localhostForwarding=true  # 端口转发

VS Code 集成

Bash
# 在 WSL 中安装 VS Code Server
code .

# VS Code 会自动安装 Remote WSL 扩展
# 之后可以在 Windows 的 VS Code 中直接编辑 WSL 文件

3.2 方案二:虚拟机

VirtualBox(免费)安装步骤

Text Only
1. 下载 VirtualBox: https://www.virtualbox.org/
2. 下载 Ubuntu ISO: https://ubuntu.com/download/server
3. 创建虚拟机:
   - 类型:Linux
   - 版本:Ubuntu (64-bit)
   - 内存:2048MB+
   - 硬盘:动态分配 20GB+
4. 加载 ISO 文件
5. 启动安装

VMware Workstation Player(免费个人版)

Text Only
1. 下载: https://www.vmware.com/products/workstation-player.html
2. 创建新虚拟机
3. 选择 ISO 映像文件
4. 配置硬件(CPU 2核+,内存 2GB+,硬盘 20GB+)
5. 自动安装

虚拟机网络配置

Text Only
NAT 模式:虚拟机通过宿主机上网(默认)
桥接模式:虚拟机获得独立IP,可被外部访问
Host-Only:虚拟机只能与宿主机通信

3.3 方案三:云服务器

各云厂商学生优惠

云厂商 学生价 配置
阿里云 约 10元/月 2C2G 40G
腾讯云 约 10元/月 2C2G 40G
华为云 约 10元/月 1C2G 40G

购买后连接

Bash
# 使用 SSH 连接
ssh root@<服务器IP>

# 使用密钥连接(更安全)
ssh -i ~/.ssh/my_key.pem root@<服务器IP>

# 使用 Windows Terminal 或 VS Code Remote SSH

初始化配置

Bash
# 1. 更新系统
sudo apt update && sudo apt upgrade -y    # Ubuntu/Debian  # &&前一个成功才执行后一个;||前一个失败才执行
sudo yum update -y                         # CentOS

# 2. 创建普通用户(避免一直用 root)
useradd -m -s /bin/bash student
passwd student
usermod -aG sudo student    # Ubuntu
usermod -aG wheel student   # CentOS

# 3. 配置 SSH 密钥认证
mkdir -p ~/.ssh
chmod 700 ~/.ssh
# 将本地公钥复制到 authorized_keys
echo "你的公钥内容" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

# 4. 安装基本工具
sudo apt install -y vim git curl wget net-tools htop tree

📖 4. Linux 目录结构

4.1 目录结构全览

Linux 采用树形目录结构,一切从根目录 / 开始:

Text Only
/                          # 根目录,文件系统的起点
├── bin/                   # 基本用户命令二进制文件
├── boot/                  # 启动引导文件(内核、GRUB)
├── dev/                   # 设备文件
├── etc/                   # 系统配置文件
├── home/                  # 普通用户家目录
│   ├── alice/
│   └── bob/
├── lib/                   # 基本共享库文件
├── lib64/                 # 64位共享库
├── media/                 # 可移动设备挂载点
├── mnt/                   # 临时挂载点
├── opt/                   # 可选应用软件包
├── proc/                  # 虚拟文件系统(进程信息)
├── root/                  # root用户家目录
├── run/                   # 运行时变量数据
├── sbin/                  # 系统管理命令
├── srv/                   # 服务数据
├── sys/                   # 虚拟文件系统(内核信息)
├── tmp/                   # 临时文件
├── usr/                   # 用户程序资源
│   ├── bin/               # 用户命令
│   ├── include/           # C/C++ 头文件
│   ├── lib/               # 库文件
│   ├── local/             # 本地安装的软件
│   │   ├── bin/
│   │   ├── lib/
│   │   └── share/
│   ├── sbin/              # 非必需的系统命令
│   └── share/             # 共享数据(文档、man手册等)
└── var/                   # 可变数据
    ├── cache/             # 应用缓存
    ├── log/               # 系统日志
    ├── mail/              # 邮件
    ├── run/               # 运行时数据
    ├── spool/             # 打印队列等
    └── tmp/               # 允许持久化的临时文件

4.2 重要目录详解

/etc — 系统配置文件目录

Bash
# 这是系统管理员最常打交道的目录
/etc/
├── passwd                 # 用户账户信息
├── shadow                 # 用户密码(加密)
├── group                  # 组信息
├── sudoers                # sudo 权限配置
├── hostname               # 主机名
├── hosts                  # 静态主机名解析
├── resolv.conf            # DNS 配置
├── fstab                  # 文件系统挂载表
├── crontab                # 系统定时任务
├── ssh/                   # SSH 配置
   └── sshd_config        # SSH 服务端配置
├── nginx/                 # Nginx 配置
├── mysql/                 # MySQL 配置
├── systemd/               # systemd 配置
└── apt/                   # APT 包管理配置
    └── sources.list       # 软件源配置
Bash
# 查看用户信息
cat /etc/passwd
# 格式:用户名:密码:UID:GID:描述:家目录:Shell
# root:x:0:0:root:/root:/bin/bash

# 查看主机名
cat /etc/hostname

# 查看DNS配置
cat /etc/resolv.conf

# 查看挂载信息
cat /etc/fstab

/var — 可变数据目录

Bash
# 日志文件—运维必须熟悉
/var/log/
├── syslog          # 系统日志(Ubuntu/Debian)
├── messages        # 系统日志(CentOS)
├── auth.log        # 认证日志(Ubuntu)
├── secure          # 认证日志(CentOS)
├── kern.log        # 内核日志
├── dmesg           # 开机日志
├── nginx/          # Nginx 日志
   ├── access.log
   └── error.log
├── mysql/          # MySQL 日志
└── journal/        # systemd 日志

# 查看系统日志
tail -f /var/log/syslog          # Ubuntu
tail -f /var/log/messages        # CentOS

# 查看认证日志(检查登录尝试)
tail -f /var/log/auth.log        # Ubuntu
tail -f /var/log/secure          # CentOS

/home — 用户家目录

Bash
# 每个用户在 /home 下有自己的目录
/home/alice/
├── .bashrc          # Bash 配置文件
├── .bash_profile    # 登录时执行的配置
├── .bash_history    # 命令历史
├── .ssh/            # SSH 配置和密钥
   ├── id_rsa       # 私钥
   ├── id_rsa.pub   # 公钥
   ├── authorized_keys  # 授权的公钥
   └── known_hosts  # 已知主机
├── .vimrc           # Vim 配置
├── Desktop/
├── Documents/
├── Downloads/
└── Projects/

# ~ 表示当前用户家目录
cd ~               # 回到家目录
echo $HOME         # 打印家目录路径

/usr — 用户程序资源

Bash
# usr = Unix System Resources(不是 user)
/usr/
├── bin/         # 大部分用户命令所在目录
├── sbin/        # 系统管理命令
├── lib/         # 动态链接库
├── include/     # C/C++ 头文件
├── local/       # 本地编译安装的软件(configure --prefix=/usr/local)
   ├── bin/
   ├── lib/
   └── etc/
└── share/       # 架构无关的共享数据
    ├── man/     # man 手册页
    └── doc/     # 文档

# 查看命令在哪个目录
which python3       # /usr/bin/python3
which nginx         # /usr/sbin/nginx

# 查看本地安装的软件
ls /usr/local/bin/

/proc — 虚拟文件系统

Bash
# /proc 是一个虚拟文件系统,只存在于内存中
# 提供了内核和进程的信息接口

# 查看 CPU 信息
cat /proc/cpuinfo

# 查看内存信息
cat /proc/meminfo

# 查看内核版本
cat /proc/version

# 查看进程信息
ls /proc/1/           # PID 为 1 的进程信息
cat /proc/1/status    # 进程状态
cat /proc/1/cmdline   # 进程命令行

# 查看系统负载
cat /proc/loadavg

# 查看磁盘分区
cat /proc/partitions

# 查看网络统计
cat /proc/net/dev

/dev — 设备文件

Bash
# Linux 一切皆文件,硬件设备也表示为文件
/dev/
├── sda          # 第一个 SCSI/SATA 硬盘
├── sda1         # 第一个分区
├── sda2         # 第二个分区
├── nvme0n1      # NVMe SSD
├── tty          # 终端设备
├── null         # 黑洞设备(丢弃一切输入)
├── zero         # 零设备(产生空字节)
├── random       # 随机数生成器
├── urandom      # 非阻塞随机数生成器
└── loop0        # 回环设备

# 实用示例
echo "test" > /dev/null       # 丢弃输出
dd if=/dev/zero of=test.img bs=1M count=100  # 创建100MB空文件
head -c 32 /dev/urandom | xxd  # 生成随机数据

4.3 文件系统层次标准(FHS)

FHS(Filesystem Hierarchy Standard)定义了 Linux 目录结构的标准。

FHS 核心分类原则

Text Only
                    可共享(shareable)    不可共享(unshareable)
静态(static)         /usr, /opt           /etc, /boot
可变(variable)       /var/mail            /var/run, /var/lock

关键规则

规则 说明 示例
/ 必须包含启动和修复系统所需的最小文件集 保持根分区小且稳定 bin, sbin, etc, lib
/usr 可以是只读的共享目录 多机器可共享 /usr /usr/bin, /usr/lib
/var 包含可变数据 日志、缓存、邮箱 /var/log, /var/cache
/tmp 任何人都可写 程序临时文件 重启后可能清空
/opt 第三方软件 独立安装的大型软件 /opt/google/chrome
Bash
# 查看文件系统挂载情况
df -hT

# 输出示例:
# Filesystem     Type   Size  Used Avail Use% Mounted on
# /dev/sda1      ext4    20G   8G   11G  42% /
# /dev/sda2      ext4   100G  45G   50G  48% /home
# tmpfs          tmpfs  3.9G     0  3.9G   0% /dev/shm

# 查看文件系统类型
mount | grep "^/dev"  # grep文本搜索:按模式匹配行

📖 5. 基本命令速览

5.1 系统信息命令

Bash
# 查看系统版本
cat /etc/os-release          # 通用方法
lsb_release -a               # Ubuntu/Debian
cat /etc/redhat-release       # CentOS/RHEL

# 查看内核版本
uname -r                     # 内核版本号
uname -a                     # 完整系统信息

# 查看主机信息
hostname                     # 主机名
hostnamectl                  # 详细主机信息(systemd)

# 查看硬件信息
lscpu                        # CPU 信息
free -h                      # 内存信息
lsblk                        # 块设备(磁盘)信息
df -h                        # 磁盘空间使用
ip addr                      # 网络接口信息

5.2 帮助系统

Bash
# man 是 Linux 最重要的帮助系统
man ls                        # 查看 ls 的手册页
man 5 passwd                  # 查看 passwd 文件格式(第5节)

# man 手册分节
# 1 - 用户命令
# 2 - 系统调用
# 3 - 库函数
# 4 - 特殊文件(设备)
# 5 - 文件格式
# 6 - 游戏
# 7 - 杂项
# 8 - 系统管理命令

# 其他帮助方式
ls --help                     # 简短帮助
info ls                       # 详细文档
whatis ls                     # 一行说明
apropos "copy file"           # 搜索相关命令

5.3 快捷键

Bash
# 终端快捷键(必须掌握)
Ctrl + C      # 中断当前命令
Ctrl + D      # 退出当前 Shell / EOF
Ctrl + Z      # 挂起当前进程(放入后台)
Ctrl + L      # 清屏(等同于 clear)

# 命令行编辑
Ctrl + A      # 跳到行首
Ctrl + E      # 跳到行尾
Ctrl + U      # 删除光标前的所有内容
Ctrl + K      # 删除光标后的所有内容
Ctrl + W      # 删除光标前一个单词
Alt + B       # 向后移动一个单词
Alt + F       # 向前移动一个单词

# 历史命令
Ctrl + R      # 反向搜索历史命令(非常实用)
!!            # 执行上一条命令
!$            # 上一条命令的最后一个参数
!n            # 执行历史记录中第n条命令
history       # 查看命令历史

📖 6. 文件类型

Linux 中有 7 种文件类型:

Bash
# 使用 ls -l 查看文件类型(第一个字符)
-    普通文件(regular file)
d    目录(directory)
l    符号链接(symbolic link)
c    字符设备文件(character device)
b    块设备文件(block device)
p    命名管道(named pipe / FIFO)
s    套接字文件(socket)

# 示例
ls -l /
# drwxr-xr-x   2 root root 4096 Jan 10 08:00 bin
# -rw-r--r--   1 root root  220 Jan 10 08:00 hosts
# lrwxrwxrwx   1 root root    7 Jan 10 08:00 lib -> usr/lib
# crw-rw----   1 root tty  5, 0 Jan 10 08:00 /dev/tty
# brw-rw----   1 root disk 8, 0 Jan 10 08:00 /dev/sda

# 使用 file 命令查看文件类型
file /bin/ls         # ELF 64-bit executable
file /etc/hosts      # ASCII text
file /dev/sda        # block special

📖 7. 开机引导过程

理解 Linux 开机过程对排障非常重要:

Text Only
1. BIOS/UEFI
   ↓  上电自检(POST),加载引导程序
2. Boot Loader (GRUB2)
   ↓  选择系统和内核,加载内核到内存
3. Linux 内核
   ↓  初始化硬件,加载驱动,挂载根文件系统
4. init 进程 (systemd)
   ↓  PID=1,系统第一个进程
5. 系统服务启动
   ↓  网络、日志、SSH等服务按依赖顺序启动
6. 登录管理器
   ↓  显示登录界面(图形/文本)
7. 用户登录
      Shell 或桌面环境
Bash
# 查看内核启动日志
dmesg | head -50  # |管道:将前一命令的输出作为后一命令的输入

# 查看 systemd 启动时间
systemd-analyze

# 查看各服务启动时间
systemd-analyze blame | head -20

# 查看启动目标
systemctl get-default
# graphical.target(图形界面)
# multi-user.target(命令行)

📖 8. 面试要点

高频面试题

Q1:Linux 中一切皆文件是什么意思?

Linux 将几乎所有资源都抽象为文件,包括普通文件、目录、设备(/dev/sda)、进程信息(/proc)、网络套接字等。统一了访问接口,可以用 read/write/open/close 等系统调用来操作各种资源。

Q2:Linux 的 inode 是什么?

inode(索引节点)存储文件的元数据:权限、所有者、大小、时间戳、数据块指针等。目录是一个特殊文件,存储了文件名到 inode 的映射。每个文件系统有固定数量的 inode。

Bash
# 查看 inode 信息
ls -i file.txt          # 查看文件的 inode 号
stat file.txt           # 查看详细 inode 信息
df -i                   # 查看文件系统 inode 使用情况

Q3:/bin 和 /usr/bin 有什么区别?

传统上 /bin 存放系统启动和修复所需的基本命令(ls, cp, cat等),/usr/bin 存放一般用户命令。在现代发行版中(如 Ubuntu 20.04+),/bin/usr/bin 的符号链接,已经合并。

Q4:如何查看 Linux 系统的性能信息?

Bash
# CPU
top                      # 动态查看
cat /proc/cpuinfo        # 静态查看
nproc                    # CPU 核数

# 内存
free -h                  # 内存使用
cat /proc/meminfo        # 详细内存信息

# 磁盘
df -h                    # 分区使用
iostat                   # IO 统计

# 网络
ss -tuln                 # 监听端口
sar -n DEV 1 5          # 网络流量

Q5:Ubuntu 和 CentOS 的主要区别?

包管理不同:Ubuntu 用 apt/dpkg,CentOS 用 yum(dnf)/rpm。配置文件位置不同(如网络配置)。默认防火墙不同:Ubuntu 用 ufw,CentOS 用 firewalld。SELinux 在 CentOS 默认开启。


🔧 练习题

基础练习

  1. 环境搭建:选择一种方式安装 Linux 环境,确保可以正常使用终端
  2. 系统信息:使用至少 5 个命令获取系统信息,记录输出
  3. 目录导航:进入以下目录并查看内容:/etc, /var/log, /proc, /dev
  4. 帮助系统:使用 man 查看 ls, cd, chmod 的手册页

进阶练习

  1. 目录结构画图:手动绘制 Linux 根目录下的目录树,标注每个目录的用途
  2. 文件类型识别:找到系统中 7 种文件类型的各一个实例
  3. 启动分析:使用 systemd-analyze blame 分析系统启动最慢的 5 个服务

思考题

  1. 为什么 root 的家目录在 /root 而不是 /home/root
  2. /tmp/var/tmp 有什么区别?
  3. 为什么 Linux 没有 C:、D: 这样的盘符概念?

✅ 自我检查

  • 我能说出 Linux 内核与发行版的关系
  • 我已经搭建好 Linux 学习环境
  • 我知道 Ubuntu/CentOS/Debian 各自的特点
  • 我能画出 Linux 根目录下的目录树
  • 我知道 /etc, /var, /home, /usr, /proc 各自存什么
  • 我理解 FHS 标准的核心原则
  • 我掌握了终端快捷键
  • 我会使用 man 查看命令帮助

📚 扩展阅读


下一章02-文件与目录管理 — 深入学习文件操作命令和权限管理