六、淘汰命令和替代应用
RHEL 9+ 运维常用命令现代化替代指南
本指南总结了 Red Hat Enterprise Linux(RHEL)9+(包括 RHEL 9.0-9.4)中运维管理员常用的已被弃用或不推荐的命令及其现代替代工具,聚焦网络管理、文件传输、服务管理、防火墙、容器和日志管理等领域。内容筛选了 ifconfig
、netstat
等高频命令的替代,补充了运维核心工具(如 journalctl
),澄清了 mount -a
与 systemctl daemon-reload
的误解,提供操作步骤、实践脚本和故障排查。指南适合 RHEL 运维工程师、RHCE 考生和系统管理员,帮助快速适应 RHEL 9+ 环境。
目标受众:Linux 运维工程师、RHCE 考生、系统管理员 适用版本:RHEL 9+(含 CentOS Stream 9、AlmaLinux 9、Rocky Linux 9) 更新日期:2025-05-16
命令速查表
ifconfig
ip address
/ ip addr
/ ip a
查看/配置网络接口
netstat
ss -t
/ ss -l
/ ss -tulnp
查看网络连接和监听端口
netstat -r
ip route show
查看路由表
netstat -i
ip -s link
查看接口统计
route
ip route
管理路由表
arp
ip neighbor
/ ip n
管理 ARP 表
scp
rsync
/ sftp
安全文件传输
egrep
grep -E
扩展正则表达式搜索
fgrep
grep -F
固定字符串搜索
service
systemctl
服务管理
chkconfig
systemctl enable
/ disable
服务启停配置
iptables
nftables
/ firewall-cmd
防火墙规则管理
docker
podman
容器管理
logger
journalctl
日志记录与查看
useradd -p
useradd
+ passwd
用户创建与密码设置
init
/ telinit
systemctl
系统初始化与运行级别
📖 目录
🧰 背景与弃用原因
🌐 网络管理
2.1 从
ifconfig
到ip
2.2 从
netstat
到ss
2.3 从
route
到ip route
2.4 从
arp
到ip neighbor
📁 文件传输:从
scp
到rsync
/sftp
🔍 文本搜索:从
egrep
/fgrep
到grep -E
/grep -F
⚙️ 服务管理:从
service
/chkconfig
到systemctl
🔥 防火墙管理:从
iptables
到nftables
/firewall-cmd
🐳 容器管理:从
docker
到podman
📜 日志管理:从
logger
到journalctl
👤 用户管理:从
useradd -p
到useradd
+passwd
🔧 系统初始化:从
init
/telinit
到systemctl
⚠️ 澄清:
mount -a
与systemctl daemon-reload
🛠️ 实践实验室与每日任务
🔍 故障排查
💡 RHEL 9+ 运维提示
🧰 1. 背景与弃用原因
用途:传统命令(如 ifconfig
、netstat
)因功能有限、性能较低,在 RHEL 9+ 中被现代工具取代。
RHCE 相关性:高(考试要求掌握 ip
、ss
、nftables
、podman
)。
背景:RHEL 9 基于 CentOS Stream 9,内核 5.14,强调 NetworkManager、Systemd 和 Podman。
1.1 弃用原因
功能限制:
ifconfig
、netstat
不支持现代网络(如容器网络、IPv6)。性能问题:传统工具解析慢,输出复杂。
维护停滞:
net-tools
、iptables
维护减少,iproute2
、nftables
更活跃。RHEL 9 默认:移除
net-tools
,优先iproute2
、ss
、podman
。
1.2 替代工具优势
iproute2:统一管理接口、路由、ARP,支持复杂网络。
ss:高效 socket 解析,输出清晰。
nftables:统一 IPv4/IPv6,规则简洁。
podman:无守护进程,兼容 Docker,集成 SELinux。
journalctl:集中化日志管理,适合运维。
场景示例:在 RHEL 9 服务器上配置网络和服务,使用 nmcli
和 systemctl
。
每日一题:为什么 net-tools
被弃用?
答案:功能有限,维护停滞,
iproute2
更高效。
🌐 2. 网络管理
2.1 从 ifconfig
到 ip
ifconfig
到 ip
用途:查看和配置网络接口。
弃用原因:ifconfig
不支持 VLAN、IPv6,输出冗长。
替代:ip address
/ip addr
/ip a
。
示例:
优势:支持复杂网络,与 nmcli
集成。
RHCE 任务:配置静态 IP 并验证连通性。
2.2 从 netstat
到 ss
netstat
到 ss
用途:监控网络连接和监听端口。
弃用原因:netstat
性能低,输出复杂。
替代:ss -t
/ss -l
/ss -tulnp
。
示例:
优势:快速解析 socket,支持过滤,输出清晰。 RHCE 任务:检查 HTTP 服务(80 端口)是否监听。
2.3 从 route
到 ip route
route
到 ip route
用途:管理路由表。
弃用原因:route
不支持策略路由。
替代:ip route
。
示例:
优势:支持动态路由,与 nmcli
集成。
RHCE 任务:配置默认网关。
2.4 从 arp
到 ip neighbor
arp
到 ip neighbor
用途:管理 ARP 表(IP-MAC 映射)。
弃用原因:arp
功能单一。
替代:ip neighbor
/ip n
。
示例:
优势:统一在 iproute2
,支持脚本化。
RHCE 任务:排查 ARP 表问题。
📁 3. 文件传输:从 scp
到 rsync
/sftp
scp
到 rsync
/sftp
用途:安全传输文件到远程服务器。
弃用原因:scp
协议安全性较低,功能单一。
替代:rsync
/sftp
。
示例:
优势:rsync
支持增量同步,sftp
提供交互式安全传输。
RHCE 任务:备份日志到远程服务器。
🔍 4. 文本搜索:从 egrep
/fgrep
到 grep -E
/grep -F
egrep
/fgrep
到 grep -E
/grep -F
用途:搜索日志或配置文件中的文本。
弃用原因:egrep
/fgrep
是 grep
别名,冗余。
替代:grep -E
(扩展正则表达式)/grep -F
(固定字符串)。
示例:
优势:统一 grep
工具,减少学习成本。
RHCE 任务:分析服务日志中的错误信息。
⚙️ 5. 服务管理:从 service
/chkconfig
到 systemctl
service
/chkconfig
到 systemctl
用途:管理服务启停和开机自启。
弃用原因:service
/chkconfig
基于 SysVinit,不适应 Systemd。
替代:systemctl
。
示例:
优势:Systemd 提供强大服务管理和依赖处理。 RHCE 任务:配置服务开机自启。
🔥 6. 防火墙管理:从 iptables
到 nftables
/firewall-cmd
iptables
到 nftables
/firewall-cmd
用途:配置防火墙规则,控制网络访问。
弃用原因:iptables
性能低,规则复杂。
替代:nftables
(推荐)或 firewall-cmd
(firewalld 管理)。
示例:
优势:nftables
统一 IPv4/IPv6,firewall-cmd
简化管理。
RHCE 任务:开放服务端口。
注意:RHEL 9 支持 iptables
兼容模式,但推荐 nftables
。
🐳 7. 容器管理:从 docker
到 podman
docker
到 podman
用途:部署和管理容器化应用。
弃用原因:docker
需守护进程,RHEL 9 默认不支持。
替代:podman
4.x。
示例:
优势:无守护进程,兼容 Docker,集成 SELinux。 RHCE 任务:部署 Nginx 容器。
📜 8. 日志管理:从 logger
到 journalctl
logger
到 journalctl
用途:记录和查看系统/服务日志。
弃用原因:logger
仅记录,功能单一,Systemd 日志更全面。
替代:journalctl
。
示例:
优势:集中化日志管理,支持过滤和持久化。 RHCE 任务:排查服务日志。
👤 9. 用户管理:从 useradd -p
到 useradd
+ passwd
useradd -p
到 useradd
+ passwd
用途:创建用户并设置密码。
弃用原因:useradd -p
使用明文密码,不安全。
替代:useradd
+ passwd
。
示例:
优势:更安全,符合运维规范。 RHCE 任务:创建用户并配置登录。
🔧 10. 系统初始化:从 init
/telinit
到 systemctl
init
/telinit
到 systemctl
用途:管理系统初始化和运行级别。
弃用原因:init
/telinit
是 System V 工具,RHEL 9 使用 Systemd。
替代:systemctl
。
示例:
advantage:Systemd 提供现代初始化和运行级别管理。 RHCE 任务:更改系统运行级别。
⚠️ 11. 澄清:mount -a
与 systemctl daemon-reload
mount -a
与 systemctl daemon-reload
误解:systemctl daemon-reload
不替代 mount -a
。
功能:
mount -a
:挂载/etc/fstab
中定义的所有文件系统。systemctl daemon-reload
:重新加载 Systemd 配置文件。用途:
mount -a
用于验证fstab
,systemctl daemon-reload
用于更新服务配置。 RHCE 任务:验证挂载点或重载服务。
🛠️ 12. 实践实验室与每日任务
用途:通过实践巩固 RHEL 9 常用工具。 RHCE 相关性:高(模拟考试场景)。
12.1 实践实验室
任务 1:网络与防火墙:
使用
nmcli
配置静态 IP。使用
firewall-cmd
开放 80 端口。
任务 2:服务与容器:
使用
systemctl
配置httpd
开机自启。使用
podman
运行 Nginx 容器。
任务 3:日志与用户:
使用
journalctl
排查httpd
日志。使用
useradd
和passwd
创建用户。
12.2 每日任务
Day 1:
运行
ip addr
和ss -tulnp
,替换ifconfig
和netstat
。
Day 2:
使用
podman
部署容器,检查日志:journalctl -u podman
。
每日一题:如何查看服务日志?
答案:
journalctl -u <service>
。
实践脚本:
🔍 13. 故障排查
用途:解决 RHEL 9 运维常见问题。 RHCE 相关性:高(考试排障)。
问题 1:
ip addr
无输出:排查:检查 NetworkManager。
解决:重启服务。
问题 2:防火墙规则未生效:
排查:检查规则。
解决:重新加载。
问题 3:
podman
容器启动失败:排查:检查日志。
解决:检查 SELinux(临时)。
场景示例:ss
未显示 80 端口,检查 httpd
服务。
每日一题:如何调试 SSH 连接?
答案:
ssh -v user@host
。
💡 14. RHEL 9+ 运维提示
用途:提升 RHEL 9 运维效率。 RHCE 相关性:高(实战能力)。
NetworkManager 集成:
实时监控:
Ansible 自动化:
SELinux 兼容:
场景示例:自动化配置网络和服务。 每日一题:如何开放防火墙端口?
答案:
firewall-cmd --add-port=80/tcp --permanent; firewall-cmd --reload
。
使用说明
下载:保存为
rhel9-common-commands-guide.md
。查看:使用 VS Code、Typora 或文本编辑器。
实践:在 RHEL 9 虚拟机上运行脚本,替换传统命令。
RHCE 提示:重点掌握
nmcli
、ss
、nftables
、podman
,考试高频。备注:如需旧工具,安装:
最后更新于
这有帮助吗?