Linux系统
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 系统启动过程
- BIOS/UEFI:硬件初始化
- 引导加载程序:GRUB, GRUB2
- 内核初始化:加载内核,初始化硬件
- init 进程:PID 1,启动用户空间
- 运行级别/目标:启动系统服务
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-Cgrep "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 故障排除流程
- 识别问题
- 收集信息
- 分析原因
- 实施解决
- 验证结果
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 实践项目
- 搭建 LAMP/LEMP 栈
- 配置邮件服务器
- 部署监控系统 (Zabbix, Prometheus)
- 实现自动化部署 (Ansible, Puppet, Chef)
- 容器化应用
- 构建私有云
16.5 书籍推荐
- 入门:《鸟哥的 Linux 私房菜》
- 进阶:《Linux 系统编程》、《UNIX 环境高级编程》
- 内核:《Linux 内核设计与实现》
- 网络:《TCP/IP 详解》
- 安全:《Linux 防火墙》