Red Hat Enterprise Linux (RHEL) 学习教程
第一部分:基础入门与核心概念
这个阶段的目标是理解 Linux 的基本思想、RHEL 的特点,并掌握最核心的命令行操作。

什么是 Red Hat Enterprise Linux (RHEL)?
- 定位:RHEL 是 Red Hat 公司开发的商业企业级 Linux 发行版,它以稳定性、安全性、高性能和长期支持而闻名。
- 特点:
- 付费订阅:提供官方技术支持、安全更新和补丁。
- 源码可用:基于开源的 Fedora 项目,其源代码是公开的,衍生出了 CentOS Stream, Fedora 等众多发行版。
- 企业级应用:广泛用于金融、电信、政府等关键行业的服务器环境。
- 生态系统:拥有强大的软件包管理系统 和强大的生态系统(如 OpenShift, Ansible 等)。
为什么选择学习 RHEL?
- 行业标准:是 Linux 领域最主流的企业级操作系统之一。
- 职业发展:RHCE (Red Hat Certified System Engineer) 认证是 IT 行业含金量最高的认证之一,是找运维、系统管理员等工作的“敲门砖”。
- 技能通用:掌握了 RHEL,你对 CentOS, Rocky Linux, AlmaLinux 等衍生版也能快速上手。
准备你的 RHEL 环境
在学习之前,你需要一个环境来实践。

- 虚拟机 (推荐新手)
- 软件:VMware Workstation Player / Pro, VirtualBox (免费)。
- 步骤:
- 下载并安装虚拟机软件。
- 从 Red Hat 官网注册并下载 RHEL 的安装镜像 (ISO 文件)。
- 创建新的虚拟机,分配 CPU、内存、硬盘空间。
- 挂载 RHEL ISO 文件,按照向导完成安装。
- 云平台
- 平台:AWS, Azure, Google Cloud, 阿里云等。
- 优点:无需本地硬件,可以随时随地访问。
- 步骤:在云平台控制台创建一个虚拟机实例,选择 RHEL 镜像进行部署。
- 物理机或裸金属
如果你有多余的电脑,可以直接在上面安装 RHEL,体验最真实的环境。
第二部分:核心命令与文件系统管理
这是 Linux 的基本功,所有图形化操作最终都会落实到命令。
基础命令
- 文件和目录操作:
ls: 列出文件和目录 (ls -l详细列表,ls -a显示隐藏文件)。cd: 切换目录 (cd /回到根目录,cd ..返回上一级,cd ~回到用户主目录)。pwd: 显示当前所在目录。touch: 创建一个空文件。mkdir: 创建一个新目录 (mkdir -p可创建多级目录)。cp: 复制文件或目录 (cp -r复制目录)。mv: 移动文件/目录,或重命名。rm: 删除文件 (rm -f强制删除,rm -r删除目录)。cat: 查看文件内容。less: 分页查看文件内容(推荐使用,q退出)。
- 用户和权限管理:
su -: 切换到 root 用户(超级管理员)。sudo <command>:以其他用户身份(通常是 root)执行命令。whoami: 显示当前用户。useradd <username>: 创建新用户。passwd <username>: 修改用户密码。chmod: 修改文件权限 (chmod 755 script.sh)。chown: 修改文件所有者 (chown user:group file.txt)。
- 系统信息:
uname -a: 显示详细的系统信息。top/htop: 实时查看系统进程和资源占用 (htop更直观,需安装)。df -h: 查看磁盘空间使用情况 (-h以人类可读格式显示)。free -h: 查看内存使用情况。
文件系统结构

理解 Linux 的目录树至关重要:
- 根目录,一切从这里开始。
/bin: 基本命令 (如ls,cp)。/sbin: 系统管理命令 (如ifconfig,reboot)。/etc: 配置文件目录 (所有服务的配置都在这里)。/home: 普通用户的家目录。/var: 经常变化的文件,如日志 (/var/log)、邮件、缓存。/tmp: 临时文件目录。/boot: 系统启动文件,如内核。/usr: 用户安装的软件和程序。/proc: 虚拟文件系统,系统内核信息的映射。
第三部分:系统管理与维护
进入系统管理员的核心工作。
软件包管理
RHEL 使用 yum 或其新一代版本 dnf 作为包管理器。
- 搜索软件包:
sudo dnf search <关键词>
- 安装软件包:
sudo dnf install <包名>
- 更新系统:
sudo dnf update
- 删除软件包:
sudo dnf remove <包名>
- 查看已安装的包:
sudo dnf list installed
服务管理
在 RHEL 7/8/9 中,使用 systemctl 命令来管理系统服务。
- 启动服务:
sudo systemctl start httpd
- 停止服务:
sudo systemctl stop httpd
- 设置服务开机自启:
sudo systemctl enable httpd
- 禁止服务开机自启:
sudo systemctl disable httpd
- 查看服务状态:
sudo systemctl status httpd
网络配置
- 查看网络接口信息:
ip a # 或传统的 ifconfig
- 配置静态 IP 地址:
- 编辑网络配置文件(对于
ens33接口):sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
- 修改或添加以下内容:
BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.255.1.1 DNS1=8.8.8.8 ONBOOT=yes - 重启网络服务:
sudo systemctl restart network
- 编辑网络配置文件(对于
- 防火墙管理 (FirewallD):
- RHEL 默认使用
firewalld防火墙。 - 查看状态:
sudo firewall-cmd --state
- 永久开放端口:
sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --reload # 重新加载防火墙使配置生效
- RHEL 默认使用
磁盘管理
- 查看磁盘分区:
fdisk -l
- 创建文件系统 (格式化):
sudo mkfs.xfs /dev/sdb1 # 将 /dev/sdb1 格式化为 XFS 文件系统
- 挂载:
- 创建挂载点:
sudo mkdir /data
- 临时挂载:
sudo mount /dev/sdb1 /data
- 永久挂载: 编辑
/etc/fstab文件,添加一行:/dev/sdb1 /data xfs defaults 0 0
- 创建挂载点:
第四部分:进阶主题与自动化
当你掌握了基础后,这些技能会让你从“会操作”变为“会管理”。
Shell 脚本编程
- 目的:将重复性的命令操作自动化。
- 学习要点:
- 变量定义 (
NAME="world")。 - 条件判断 (
if...then...else...fi)。 - 循环 (
for...in...do...done,while...do...done)。 - 函数定义和使用。
- 接收用户输入 (
read命令)。
- 变量定义 (
- 实践:写一个脚本,用于自动备份指定目录到
/backup。
用户与权限高级
- Sudoers 文件 (
/etc/sudoers):- 精细控制哪些用户可以执行哪些命令。
- 允许
devops用户重启 Nginx 服务,但无需 root 密码。devops ALL=(ALL) /bin/systemctl restart nginx - 警告:请使用
visudo命令编辑此文件,可以防止语法错误导致系统无法使用sudo。
SELinux (Security-Enhanced Linux)
- 是什么:RHEL 内置的强制访问控制安全系统,是 RHEL 安全性的核心。
- 三个模式:
Enforcing:强制执行 SELinux 策略。Permissive:只记录警告,不阻止操作。Disabled:完全禁用。
- 常用命令:
getenforce: 查看当前模式。setenforce [Enforcing|Permissive|0]: 临时设置模式。semanage fcontext: 管理文件的安全上下文。restorecon: 恢复文件的安全上下文。
日志管理
- 中心化日志:学习使用
rsyslog或journald。 - 日志轮转:学习使用
logrotate工具,防止日志文件无限增长。
第五部分:认证学习路径
如果你想系统化学习并获得权威认证,可以遵循以下路径。
RHCSA (Red Hat Certified System Administrator)
- 定位:认证你具备 RHEL 系统管理员的核心技能。
- 考试形式:上机实操,无选择题。
- 核心考点:
- 操作和管理命令行:熟练使用所有基础命令。
- 操作系统安装和配置:安装 RHEL,配置网络、存储。
- 连接、启动并使用一台 Linux 系统:管理用户、权限。
- 存储、文件系统和逻辑卷管理:创建、挂载、管理分区和 LVM。
- 安装、配置和管理服务:管理
systemd服务、firewalld、selinux。 - 管理基本的安全选项:配置用户访问、
selinux策略。 - 排错和系统维护:分析日志、修复启动问题。
RHCE (Red Hat Certified Engineer)
- 定位:认证你具备企业级自动化运维和网络安全能力。
- 考试形式:RHCSA 考试 + RHCE 考试,均为上机实操。
- 核心考点 (RHCE 部分):
- 自动化部署:使用 Ansible 进行配置管理和应用部署。
- 网络服务:
- 配置 Apache (HTTPD) Web 服务器,支持虚拟主机和 SSL。
- 配置 MariaDB/MySQL 数据库。
- 配置 DNS (BIND) 服务器。
- 配置 DHCP 服务器。
- 配置 NFS 和 Samba 文件共享。
- 安全加固:配置 FirewallD、SELinux 策略、SSH 访问控制。
- 容器技术:在 RHEL 上使用 Podman 管理容器。
第六部分:学习资源推荐
- 官方文档:Red Hat Customer Portal Documentation (最权威、最准确)
- 官方教程:Red Hat Learning Subscription (付费,但内容非常系统)
- 免费在线课程:
- Red Hat Academy on edX: 提供免费的入门课程。
- The Fedora Project: RHEL 的上游社区,有很多高质量的教程。
- 书籍:
- 《Red Hat RHCSA/RHCE 7 认证考试指南》
- 《鸟哥的 Linux 私房菜》(中文经典,适合打基础)
- 社区和论坛:
- Red Hat Discuss: 官方社区。
- Stack Overflow: 搜索具体问题。
- V2EX: 中文技术社区,有专门的 Linux 版块。
学习建议
- 动手实践:不要只看,一定要亲手敲每一个命令,配置每一个服务,虚拟机是你的最佳朋友。
- 从基础开始:不要急于求成,先把命令和文件系统搞懂,再学习服务和管理。
- 理解“为什么”:不仅要知道
chmod 755是什么,更要理解 r(4), w(2), x(1) 的含义,以及为什么 Web 服务器目录需要这个权限。 - 善用文档:学会阅读
man手册 (man <command>) 和官方文档,这是 Linux 工程师必备的能力。 - 记录笔记:建立自己的知识库,记录遇到的命令、配置和排错过程。
祝你学习顺利,早日成为 RHEL 高手!
