Linux 基础知识体系概览
为什么要学 Linux
Linux 是运维工程师的第一基本功。无论是 Web 服务、数据库、容器平台还是云原生基础设施,底层几乎都运行在 Linux 之上。掌握 Linux 不仅是面试的硬性门槛,更是日常排障、性能调优、自动化运维的基础能力。
核心知识概览
文件系统与目录结构
Linux 一切皆文件。理解 FHS(Filesystem Hierarchy Standard) 是操作 Linux 的前提:
| 目录 | 用途 |
|---|---|
/ | 根目录,所有文件的起点 |
/etc | 系统配置文件 |
/var | 可变数据(日志、缓存、邮件) |
/home | 普通用户主目录 |
/root | root 用户主目录 |
/usr | 用户程序和库(类似 Windows 的 Program Files) |
/tmp | 临时文件(重启可能清除) |
/proc | 虚拟文件系统,内核与进程信息 |
/sys | 虚拟文件系统,设备与驱动信息 |
/dev | 设备文件 |
/opt | 第三方软件安装目录 |
面试重点
/proc 和 /sys 是虚拟文件系统,数据来自内核,不占磁盘空间。/proc/cpuinfo、/proc/meminfo、/proc/[pid]/ 是排查问题的常用路径。
用户与权限管理
Linux 是多用户系统,权限管理是安全的第一道防线:
- 文件权限:
rwx(读/写/执行),分 Owner/Group/Others 三组 - 特殊权限:SUID、SGID、Sticky Bit
- ACL:更细粒度的权限控制,突破传统 UGO 模型的限制
- sudo:以其他用户身份执行命令,是权限提升的标准方式
进程管理
进程是 Linux 的执行单元,理解进程管理对排障至关重要:
- 进程状态:R(运行)、S(睡眠)、D(不可中断睡眠)、Z(僵尸)、T(停止)
- 进程工具:
ps、top/htop、kill、pgrep/pkill - systemd:现代 Linux 的初始化系统和服务管理器
- namespace/cgroup:容器技术的底层基础
Shell 脚本
Shell 是运维自动化的基本工具:
- Bash 基础:变量、数组、字符串操作
- 流程控制:if/else、for/while、case
- 函数:定义、参数、返回值
- 文本处理:grep、sed、awk 三剑客
网络配置与排查
服务器网络是运维的核心领域:
- 网络工具:
ip、ss、netstat、tcpdump、curl、dig - 防火墙:iptables/nftables、firewalld
- 网络配置:IP 地址、路由表、DNS、网卡绑定
磁盘与存储管理
存储是基础设施的关键组成:
- 磁盘操作:分区(fdisk/parted)、格式化(mkfs)、挂载(mount/fstab)
- LVM:逻辑卷管理,灵活扩缩容
- RAID:磁盘冗余阵列,提高可靠性或性能
- 监控工具:
df、du、iostat、iotop
学习路径建议
- 入门:先熟悉文件系统和常用命令,能在终端中自如操作
- 基础:理解权限模型和进程管理,能管理用户和服务
- 进阶:掌握 Shell 脚本,实现日常任务自动化
- 实战:网络排查和存储管理,处理生产环境问题