Linux系统

10 minute read

Linux 系统 完整学习大纲

Linux常用指令合集
类别 指令 基本语法/示例 简要说明
文件与目录操作 pwd pwd 显示当前工作目录的路径。
  ls ls -la 列出目录内容。-l 详细信息,-a 包含隐藏文件。
  cd cd /home/user 切换当前工作目录。cd .. 返回上级目录。
  mkdir mkdir new_folder 创建新目录。-p 参数可创建多级目录。
  rmdir rmdir empty_folder 删除空目录。
  touch touch new_file.txt 创建新的空文件或更新文件时间戳。
  cp cp source.txt dest/ 复制文件或目录。-r 递归复制目录。
  mv mv old.txt new.txt 移动或重命名文件/目录。
  rm rm file.txt 删除文件。-r 递归删除目录,-f 强制删除。慎用
  cat cat file.txt 连接文件并打印到标准输出,常用于查看文件内容。
  less / more less long_file.log 分页查看文件内容,less 功能更强大。
  head / tail tail -f app.log head 显示文件开头部分,tail 显示末尾。-f 可实时追踪文件更新。
  find find /home -name "*.txt" 在指定目录下查找文件,功能非常强大。
  locate locate filename 通过数据库快速查找文件(需先运行updatedb)。
文件内容与文本处理 echo echo "Hello World" 输出文本到终端或文件。
  grep grep "error" log.txt 在文件中搜索匹配的文本行,支持正则表达式。
  wc wc -l file.txt 统计文件的行数(-l)、单词数(-w)、字节数(-c)。
  sort sort file.txt 对文本行进行排序。
  uniq uniq sorted.txt 报告或忽略重复的行,常与sort配合使用。
  cut cut -d',' -f1 data.csv 从每行文本中截取特定部分。
  sed sed 's/old/new/g' file.txt 流编辑器,用于对文本进行查找、替换、删除等操作。
  awk awk '{print $1}' file.txt 文本和数据处理编程语言,擅长处理字段数据。
文件权限与所有权 chmod chmod 755 script.sh 修改文件或目录的权限(读r=4,写w=2,执行x=1)。
  chown chown user:group file 修改文件或目录的所有者和所属组。
  umask umask 022 设置创建新文件时的默认权限掩码。
系统信息与状态 uname uname -a 打印系统信息(内核版本、主机名等)。
  whoami whoami 显示当前登录的用户名。
  hostname hostname 显示或设置系统的主机名。
  top / htop top 动态显示进程活动及系统资源使用情况。htop是其增强版。
  ps ps aux 报告当前进程的快照状态。
  free free -h 显示系统内存使用情况,-h 以人类易读格式显示。
  df df -h 显示磁盘空间使用情况,-h 以人类易读格式显示。
  du du -sh folder/ 估算文件或目录的磁盘使用量,-s总计,-h易读。
  uptime uptime 显示系统运行时间、当前用户数和平均负载。
进程管理 & ./program & 在命令末尾添加&,使程序在后台运行。
  jobs jobs 列出当前终端会话中的后台任务。
  fg / bg fg %1 fg将后台任务转到前台,bg将暂停的任务转为后台运行。
  kill kill -9 1234 向指定PID的进程发送信号。-9为强制终止信号。
  pkill pkill firefox 根据进程名发送信号。
  nohup nohup ./server & 运行命令,忽略挂断信号,使进程在退出终端后继续运行。
网络相关 ping ping -c 4 baidu.com 测试与目标主机的网络连通性。
  curl / wget curl -O http://example.com/file 从网络下载文件或数据。curl功能更侧重数据传输。
  ssh ssh user@host 安全地远程登录到另一台计算机。
  scp scp file.txt user@host:/path/ 通过SSH安全地在本地和远程主机间复制文件。
  netstat / ss ss -tulnp 显示网络连接、路由表、接口统计等信息。ss是更现代的替代工具。
  ifconfig / ip ip addr show 查看和配置网络接口。ip指令是推荐的新工具。
压缩与归档 tar tar -czvf archive.tar.gz folder/ 打包和压缩文件。-c创建,-zgzip压缩,-v显示过程,-f指定文件名。解压常用 tar -xzvf archive.tar.gz
  gzip / gunzip gzip file.txt 压缩或解压.gz文件。
  zip / unzip zip -r archive.zip folder/ 创建或解压.zip压缩包。
包管理 (示例) APT (Debian/Ubuntu) sudo apt update
sudo apt install package
更新软件包列表并安装软件。
  YUM/DNF (RHEL/CentOS/Fedora) sudo dnf search package
sudo dnf install package
搜索并安装软件包。
用户与权限 sudo sudo command 以超级用户(root)权限执行命令。
  su su - username 切换用户身份。“-”会加载目标用户的环境变量。
  passwd passwd 修改当前用户的密码。root用户可修改其他用户密码passwd username
  useradd / adduser sudo useradd newuser 创建新用户账户。adduser是交互式脚本。
  usermod sudo usermod -aG groupname username 修改用户属性,如将用户添加到附加组。
其他实用工具 man man ls 查看指令的详细手册页,是最重要的帮助工具。
  which / whereis which python which 显示命令的完整路径;whereis 定位命令的二进制、源码和手册页位置。
  alias alias ll='ls -la' 创建命令别名,简化常用命令。
  history history \| grep apt 查看命令历史记录,并可配合!编号重新执行历史命令。
  ln ln -s /path/file link_name 创建文件链接。-s创建符号链接(软链接)。
  crontab crontab -e 编辑当前用户的定时任务(cron jobs)。
  date date 显示或设置系统日期和时间。
  shutdown / reboot sudo shutdown -h now 关机或重启系统。-h停机,-r重启。

一、Linux 概述与基础

1.1 Linux 历史与发展

  • 起源:Unix 系统 -> Minix -> Linux (Linus Torvalds, 1991)
  • 开源理念:GNU/GPL 许可证,自由软件运动
  • 主要发行版
    • Red Hat 系:RHEL, CentOS, Fedora
    • Debian 系:Debian, Ubuntu, Mint
    • 其他:Arch, SUSE, openSUSE
  • Linux 内核:系统核心,负责进程管理、内存管理、文件系统、设备驱动、网络等

1.2 Linux 系统架构

  • 内核 (Kernel):核心组件
  • Shell:用户与内核交互的接口
  • 文件系统:组织和管理文件的方法
  • 应用程序:用户使用的各种程序

1.3 Linux 哲学

  • 一切皆文件
  • 小型、单一用途的程序
  • 通过管道连接程序
  • 避免复杂的用户界面
  • 文本化配置数据

1.4 安装 Linux

  • 虚拟机安装 (VMware, VirtualBox)
  • 物理机安装
  • 双系统安装
  • 云服务器部署
  • 容器化环境

二、Linux 文件系统

2.1 文件系统层次结构标准 (FHS)

  • /:根目录
  • /bin:基本命令二进制文件
  • /sbin:系统管理二进制文件
  • /etc:配置文件
  • /home:用户主目录
  • /root:root 用户主目录
  • /boot:引导加载程序文件
  • /dev:设备文件
  • /lib:系统库文件
  • /opt:可选应用程序
  • /tmp:临时文件
  • /usr:用户程序
  • /var:可变数据
  • /proc:进程和内核信息
  • /sys:系统设备信息

2.2 文件类型

  • 普通文件 (-)
  • 目录文件 (d)
  • 链接文件 (l)
  • 字符设备文件 (c)
  • 块设备文件 (b)
  • 套接字文件 (s)
  • 管道文件 (p)

2.3 文件权限与所有权

  • 权限类型:读 (r=4)、写 (w=2)、执行 (x=1)
  • 权限组:所有者 (u)、所属组 (g)、其他用户 (o)、所有用户 (a)
  • 特殊权限:SUID, SGID, Sticky Bit
  • 默认权限:umask
    # 查看文件权限
    ls -l file.txt
    # 修改权限
    chmod 755 file.txt
    chmod u+x file.txt
    # 修改所有者和所属组
    chown user:group file.txt
    # 设置 SUID
    chmod u+s file.txt
    # 查看 umask
    umask
    

2.4 链接文件

  • 硬链接:指向同一 inode 的多个文件名
  • 符号链接:指向文件路径的快捷方式
    # 创建硬链接
    ln source.txt hardlink.txt
    # 创建软链接
    ln -s source.txt softlink.txt
    

三、Shell 与命令行基础

3.1 Shell 类型

  • Bash (Bourne Again Shell):Linux 默认
  • Zsh:功能强大,用户友好
  • Fish:智能、易用
  • Dash:轻量快速

3.2 基本命令

  • 文件操作:ls, cd, pwd, mkdir, rmdir, cp, mv, rm, touch, file, find, locate
  • 文本处理:cat, less, more, head, tail, grep, sed, awk, cut, sort, uniq, wc, diff
  • 压缩解压:gzip, gunzip, bzip2, bunzip2, tar, zip, unzip
  • 系统信息:uname, hostname, whoami, id, date, cal, uptime, free, df, du

3.3 命令行技巧

  • 命令历史:history, !!, !n, Ctrl+R
  • 命令别名:alias, unalias
  • 通配符:*, ?, [], {}
  • 输入输出重定向:>, », <, «, 2>, &>, |
    # 命令历史
    history | grep "pattern"
    !100  # 执行历史记录中第100条命令
    !!    # 执行上一条命令
    
    # 别名
    alias ll='ls -l'
    unalias ll
    
    # 通配符
    ls *.txt
    ls file[0-9].txt
    ls {a,b,c}.txt
    
    # 重定向
    ls > file.txt
    ls >> file.txt
    command < input.txt
    error_command 2> error.log
    both_command &> output.log
    command1 | command2
    

四、用户与权限管理

4.1 用户管理

  • 用户配置文件/etc/passwd, /etc/shadow, /etc/group, /etc/gshadow
  • 用户管理命令:useradd, usermod, userdel, passwd, chage
  • 组管理命令:groupadd, groupmod, groupdel, gpasswd
    # 创建用户
    useradd -m -s /bin/bash username
    # 修改用户
    usermod -aG groupname username
    # 删除用户
    userdel -r username
    # 设置密码
    passwd username
    # 创建组
    groupadd groupname
    

4.2 权限提升

  • su:切换用户
  • sudo:以其他用户身份执行命令
  • visudo:编辑 sudo 配置
    # 切换用户
    su - username
    # 执行特权命令
    sudo command
    # 编辑 sudoers 文件
    visudo
    

4.3 进程权限

  • 实际用户 ID (RUID)
  • 有效用户 ID (EUID)
  • 保存的设置用户 ID (SUID)
  • 实际组 ID (RGID)
  • 有效组 ID (EGID)
  • 保存的设置组 ID (SGID)

五、进程管理

5.1 进程概念

  • 进程:正在执行的程序实例
  • PID:进程标识符
  • PPID:父进程标识符
  • 进程状态:运行、睡眠、停止、僵尸
  • 进程类型:前台进程、后台进程、守护进程

5.2 进程管理命令

# 查看进程
ps aux
ps -ef
top
htop
pstree

# 进程控制
kill PID
kill -9 PID
killall process_name
pkill pattern

# 作业控制
command &        # 后台运行
jobs            # 查看作业
fg %n          # 前台运行作业 n
bg %n          # 后台运行作业 n
Ctrl+Z         # 暂停进程

5.3 进程优先级

  • Nice 值:-20 (最高) 到 19 (最低)
  • 优先级命令:nice, renice
    # 以低优先级启动进程
    nice -n 10 command
    # 修改运行中进程的优先级
    renice 5 PID
    

5.4 系统监控

  • 系统资源:top, htop, vmstat, mpstat, iostat, sar
  • 内存使用:free, /proc/meminfo
  • CPU 信息:/proc/cpuinfo, lscpu
  • 磁盘使用:df, du, iotop
  • 网络监控:iftop, nethogs, bmon

六、磁盘与文件系统管理

6.1 磁盘分区

  • MBR 分区:主引导记录,最大 2TB,4个主分区
  • GPT 分区:GUID 分区表,支持大容量磁盘
  • 分区工具:fdisk, parted, gdisk
    # 查看磁盘信息
    fdisk -l
    lsblk
    # 创建分区
    fdisk /dev/sdb
    # GPT 分区
    parted /dev/sdb
    

6.2 文件系统

  • ext2/ext3/ext4:Linux 传统文件系统
  • XFS:高性能日志文件系统
  • Btrfs:先进特性,支持快照
  • ZFS:企业级文件系统
  • VFAT/NTFS:Windows 文件系统
    # 创建文件系统
    mkfs.ext4 /dev/sdb1
    mkfs.xfs /dev/sdb2
    # 检查文件系统
    fsck /dev/sdb1
    # 查看文件系统信息
    dumpe2fs /dev/sdb1
    xfs_info /dev/sdb2
    

6.3 挂载与卸载

# 挂载文件系统
mount /dev/sdb1 /mnt/data
# 自动挂载 (编辑 /etc/fstab)
# 卸载文件系统
umount /mnt/data
# 查看挂载点
mount
df -h
findmnt

6.4 逻辑卷管理 (LVM)

  • 物理卷 (PV)
  • 卷组 (VG)
  • 逻辑卷 (LV)
    # 创建物理卷
    pvcreate /dev/sdb
    # 创建卷组
    vgcreate vgdata /dev/sdb
    # 创建逻辑卷
    lvcreate -L 10G -n lvdata vgdata
    # 扩展逻辑卷
    lvextend -L +5G /dev/vgdata/lvdata
    resize2fs /dev/vgdata/lvdata
    

6.5 交换空间

  • 交换分区
  • 交换文件
    # 创建交换文件
    dd if=/dev/zero of=/swapfile bs=1M count=2048
    mkswap /swapfile
    swapon /swapfile
    # 永久生效 (编辑 /etc/fstab)
    /swapfile swap swap defaults 0 0
    

七、软件包管理

7.1 包管理系统

  • Debian/Ubuntu:APT (dpkg)
  • RHEL/CentOS/Fedora:YUM/DNF (RPM)
  • Arch:Pacman
  • SUSE:Zypper
  • 通用:Snap, Flatpak, AppImage

7.2 APT 包管理

# 更新源
sudo apt update
# 升级软件包
sudo apt upgrade
# 安装软件
sudo apt install package_name
# 搜索软件
apt search keyword
# 查看软件信息
apt show package_name
# 移除软件
sudo apt remove package_name
sudo apt purge package_name
# 清理
sudo apt autoremove
sudo apt clean

7.3 YUM/DNF 包管理

# 更新缓存
sudo yum makecache
sudo dnf makecache
# 安装软件
sudo yum install package_name
sudo dnf install package_name
# 搜索软件
yum search keyword
dnf search keyword
# 查看软件信息
yum info package_name
# 移除软件
sudo yum remove package_name
sudo dnf remove package_name
# 清理缓存
sudo yum clean all

7.4 源码编译安装

# 典型步骤
./configure
make
sudo make install
# 卸载
sudo make uninstall

7.5 仓库管理

  • APT 源/etc/apt/sources.list, /etc/apt/sources.list.d/
  • YUM 源/etc/yum.repos.d/
  • 第三方仓库:EPEL, RPM Fusion, PPA

八、网络配置与管理

8.1 网络基础

  • 网络模型:OSI 七层模型,TCP/IP 四层模型
  • IP 地址:IPv4, IPv6, 子网掩码,CIDR
  • 网络接口:eth0, enp3s0, wlan0
  • 网络配置文件/etc/network/interfaces, /etc/sysconfig/network-scripts/, netplan

8.2 网络配置命令

# 查看网络配置
ifconfig
ip addr show
ip link show
# 配置网络
ifconfig eth0 192.168.1.100 netmask 255.255.255.0
ip addr add 192.168.1.100/24 dev eth0
# 查看路由
route -n
ip route show
# 配置路由
route add default gw 192.168.1.1
ip route add default via 192.168.1.1
# 查看 DNS
cat /etc/resolv.conf
# 网络测试
ping host
traceroute host
mtr host

8.3 网络管理服务

  • NetworkManager:现代网络管理
  • systemd-networkd:systemd 网络管理
  • net-tools:传统工具 (ifconfig, route)
  • iproute2:现代工具 (ip)

8.4 网络诊断

# 查看网络连接
netstat -tulpn
ss -tulpn
# 查看端口
lsof -i :80
# 网络抓包
tcpdump -i eth0
tcpdump -i eth0 port 80
# 带宽测试
iperf3
speedtest-cli

8.5 防火墙

  • iptables:传统防火墙
  • nftables:iptables 替代
  • firewalld:动态防火墙管理器
  • UFW:简单防火墙
    # iptables 示例
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    iptables -A INPUT -j DROP
    # firewalld
    firewall-cmd --add-port=80/tcp --permanent
    firewall-cmd --reload
    # UFW
    ufw allow 22/tcp
    ufw enable
    

九、系统服务与初始化

9.1 系统启动过程

  1. BIOS/UEFI:硬件初始化
  2. 引导加载程序:GRUB, GRUB2
  3. 内核初始化:加载内核,初始化硬件
  4. init 进程:PID 1,启动用户空间
  5. 运行级别/目标:启动系统服务

9.2 初始化系统

  • System V init:传统 init
  • systemd:现代 init
  • Upstart:Ubuntu 早期使用

9.3 systemd 管理

# 服务管理
systemctl start service_name
systemctl stop service_name
systemctl restart service_name
systemctl reload service_name
systemctl status service_name
# 启用/禁用服务
systemctl enable service_name
systemctl disable service_name
# 查看服务
systemctl list-units --type=service
systemctl list-unit-files
# 查看日志
journalctl -u service_name
journalctl -f

9.4 定时任务

  • cron:周期性任务
  • anacron:处理关机时未执行的任务
  • at:一次性任务
    # 编辑 crontab
    crontab -e
    # 查看 crontab
    crontab -l
    # 系统 crontab
    sudo vim /etc/crontab
    # at 任务
    at 14:30 tomorrow
    at> command
    at> Ctrl+D
    

十、Shell 脚本编程

10.1 Shell 脚本基础

  • Shebang#!/bin/bash
  • 执行权限chmod +x script.sh
  • 执行方式./script.sh, bash script.sh, source script.sh
  • 调试bash -x script.sh, set -x, set +x

10.2 变量

# 定义变量
variable="value"
# 使用变量
echo $variable
echo ${variable}
# 环境变量
export VARIABLE="value"
# 特殊变量
$0, $1, $2, ..., $# , $@, $*, $?, $$

10.3 条件判断

# 数字比较
if [ $a -eq $b ]; then
    echo "a equals b"
fi
# 字符串比较
if [ "$str1" = "$str2" ]; then
    echo "strings are equal"
fi
# 文件测试
if [ -f file.txt ]; then
    echo "file exists"
fi
# 多条件
if [ condition1 ] && [ condition2 ]; then
    echo "both true"
fi

10.4 循环

# for 循环
for i in 1 2 3; do
    echo $i
done
# C 风格 for
for ((i=0; i<10; i++)); do
    echo $i
done
# while 循环
while [ condition ]; do
    echo "loop"
done
# until 循环
until [ condition ]; do
    echo "loop"
done

10.5 函数

# 定义函数
function_name() {
    echo "Hello $1"
    return 0
}
# 调用函数
function_name "World"
# 获取返回值
echo $?

10.6 高级特性

  • 数组
  • 字符串操作
  • 算术运算
  • 信号处理
  • 文件包含

十一、文本处理三剑客

11.1 grep

  • 基本搜索grep pattern file
  • 正则表达式. * + ? [] ^ $ \b \B
  • 常用选项-i -v -n -c -r -l -E -A -B -C
    grep "pattern" file.txt
    grep -i "pattern" file.txt
    grep -r "pattern" /path/
    grep -E "pattern1|pattern2" file.txt
    

11.2 sed

  • 流编辑器:过滤和转换文本
  • 基本语法sed 's/pattern/replacement/flags'
  • 常用命令s 替换, d 删除, p 打印, i 插入, a 追加
    # 替换
    sed 's/old/new/g' file.txt
    # 删除行
    sed '/pattern/d' file.txt
    # 行范围操作
    sed '2,5s/old/new/g' file.txt
    # 原地编辑
    sed -i 's/old/new/g' file.txt
    

11.3 awk

  • 模式扫描与处理语言
  • 基本结构awk 'pattern {action}' file
  • 内建变量NR, NF, $0, $1, FS, OFS, RS, ORS
    # 打印列
    awk '{print $1, $3}' file.txt
    # 条件过滤
    awk '$3 > 100 {print $1, $3}' file.txt
    # 内置函数
    awk '{print length($0)}' file.txt
    # BEGIN/END
    awk 'BEGIN {FS=":"} {print $1} END {print "Done"}' /etc/passwd
    

十二、系统安全

12.1 安全基础

  • 最小权限原则
  • 防御深度
  • 安全更新

12.2 安全配置

  • SSH 安全:禁用 root 登录,密钥认证,修改端口
    # SSH 配置
    vim /etc/ssh/sshd_config
    # 禁用 root 登录
    PermitRootLogin no
    # 使用密钥认证
    PubkeyAuthentication yes
    PasswordAuthentication no
    
  • SELinux:强制访问控制
  • AppArmor:应用程序访问控制
  • 文件完整性检查:aide, tripwire

12.3 安全审计

  • 日志分析/var/log/
  • 入侵检测:fail2ban, rkhunter, chkrootkit
  • 安全扫描:nmap, lynis, OpenVAS
  • 审计工具:auditd

12.4 加密与认证

  • SSL/TLS
  • GPG
  • OpenSSL
    # 生成密钥对
    ssh-keygen -t rsa -b 4096
    # 加密文件
    gpg -c file.txt
    # 查看证书
    openssl x509 -in certificate.crt -text -noout
    

十三、虚拟化与容器

13.1 虚拟化

  • 类型:全虚拟化,半虚拟化
  • 平台:KVM, Xen, VirtualBox, VMware
  • 管理工具:libvirt, virt-manager

13.2 容器基础

  • Docker:容器运行时
  • 容器镜像:只读模板
  • 容器仓库:Docker Hub, Harbor
    # Docker 基本命令
    docker pull ubuntu:20.04
    docker run -it ubuntu:20.04 /bin/bash
    docker ps
    docker images
    docker build -t myimage .
    

13.3 容器编排

  • Docker Compose:多容器应用
  • Kubernetes:容器编排平台
  • Podman:无守护进程容器

13.4 系统容器

  • LXC/LXD:系统容器
  • systemd-nspawn:轻量级容器

十四、故障排除与性能调优

14.1 故障排除流程

  1. 识别问题
  2. 收集信息
  3. 分析原因
  4. 实施解决
  5. 验证结果

14.2 日志分析

  • 系统日志/var/log/messages, /var/log/syslog
  • 应用日志/var/log/
  • 日志管理:logrotate, rsyslog, journald
    # 查看日志
    tail -f /var/log/syslog
    journalctl -f
    dmesg | tail
    # 日志搜索
    grep -i error /var/log/syslog
    

14.3 性能调优

  • CPU 优化:进程优先级,CPU 亲和性
  • 内存优化:交换空间,透明大页
  • 磁盘 I/O 优化:I/O 调度器,文件系统
  • 网络优化:TCP 参数,网卡绑定
    # 查看系统负载
    uptime
    # 查看内存使用
    free -m
    # 查看磁盘 I/O
    iostat -x 1
    # 查看网络状态
    netstat -s
    ss -s
    

14.4 核心转储分析

  • core 文件:程序崩溃时的内存快照
  • gdb:GNU 调试器
    # 启用 core dump
    ulimit -c unlimited
    echo "/tmp/core.%e.%p" > /proc/sys/kernel/core_pattern
    # 分析 core dump
    gdb /path/to/program /path/to/core
    

十五、高级主题

15.1 内核模块

  • 模块管理:lsmod, insmod, rmmod, modprobe
  • 内核参数/proc/sys/, sysctl
    # 查看加载的模块
    lsmod
    # 加载模块
    modprobe module_name
    # 修改内核参数
    sysctl -w kernel.parameter=value
    # 永久生效
    vim /etc/sysctl.conf
    

15.2 网络高级配置

  • 网卡绑定:bonding, teaming
  • VLAN:虚拟局域网
  • VPN:OpenVPN, WireGuard
  • 代理:Squid, HAProxy

15.3 存储高级配置

  • RAID:软件 RAID
  • iSCSI:网络存储
  • NFS:网络文件系统
  • Samba:Windows 文件共享
    # 创建 RAID
    mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
    # 挂载 NFS
    mount -t nfs server:/path /mnt/nfs
    # Samba 配置
    vim /etc/samba/smb.conf
    

15.4 集群与高可用

  • 负载均衡:HAProxy, Nginx
  • 高可用:Keepalived, Pacemaker, Corosync
  • 分布式存储:Ceph, GlusterFS

十六、学习资源

16.1 官方文档

  • 发行版文档:Ubuntu, CentOS, RHEL, Debian
  • 项目文档:Kernel, systemd, Docker, Kubernetes
  • man 手册man command, info command

16.2 在线资源

  • 教程:Linux Journey, TLDP, DigitalOcean, Linode
  • 社区:Stack Overflow, Server Fault, Reddit, LinuxQuestions
  • 博客:LWN.net, Kernel Planet, 鸟哥的 Linux 私房菜

16.3 认证体系

  • Linux Foundation:LFCS, LFCE
  • Red Hat:RHCSA, RHCE, RHCA
  • CompTIA:Linux+
  • LPIC:LPIC-1, LPIC-2, LPIC-3

16.4 实践项目

  1. 搭建 LAMP/LEMP 栈
  2. 配置邮件服务器
  3. 部署监控系统 (Zabbix, Prometheus)
  4. 实现自动化部署 (Ansible, Puppet, Chef)
  5. 容器化应用
  6. 构建私有云

16.5 书籍推荐

  • 入门:《鸟哥的 Linux 私房菜》
  • 进阶:《Linux 系统编程》、《UNIX 环境高级编程》
  • 内核:《Linux 内核设计与实现》
  • 网络:《TCP/IP 详解》
  • 安全:《Linux 防火墙》

Tags:

Categories:

Updated: