六、淘汰命令和替代应用

RHEL 9+ 运维常用命令现代化替代指南

本指南总结了 Red Hat Enterprise Linux(RHEL)9+(包括 RHEL 9.0-9.4)中运维管理员常用的已被弃用或不推荐的命令及其现代替代工具,聚焦网络管理、文件传输、服务管理、防火墙、容器和日志管理等领域。内容筛选了 ifconfignetstat 等高频命令的替代,补充了运维核心工具(如 journalctl),澄清了 mount -asystemctl 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

系统初始化与运行级别


📖 目录

  1. 🧰 背景与弃用原因

  2. 🌐 网络管理

    • 2.1 从 ifconfigip

    • 2.2 从 netstatss

    • 2.3 从 routeip route

    • 2.4 从 arpip neighbor

  3. 📁 文件传输:从 scprsync/sftp

  4. 🔍 文本搜索:从 egrep/fgrepgrep -E/grep -F

  5. ⚙️ 服务管理:从 service/chkconfigsystemctl

  6. 🔥 防火墙管理:从 iptablesnftables/firewall-cmd

  7. 🐳 容器管理:从 dockerpodman

  8. 📜 日志管理:从 loggerjournalctl

  9. 👤 用户管理:从 useradd -puseradd + passwd

  10. 🔧 系统初始化:从 init/telinitsystemctl

  11. ⚠️ 澄清:mount -asystemctl daemon-reload

  12. 🛠️ 实践实验室与每日任务

  13. 🔍 故障排查

  14. 💡 RHEL 9+ 运维提示


🧰 1. 背景与弃用原因

用途:传统命令(如 ifconfignetstat)因功能有限、性能较低,在 RHEL 9+ 中被现代工具取代。 RHCE 相关性:高(考试要求掌握 ipssnftablespodman)。 背景:RHEL 9 基于 CentOS Stream 9,内核 5.14,强调 NetworkManager、Systemd 和 Podman。

1.1 弃用原因

  • 功能限制ifconfignetstat 不支持现代网络(如容器网络、IPv6)。

  • 性能问题:传统工具解析慢,输出复杂。

  • 维护停滞net-toolsiptables 维护减少,iproute2nftables 更活跃。

  • RHEL 9 默认:移除 net-tools,优先 iproute2sspodman

1.2 替代工具优势

  • iproute2:统一管理接口、路由、ARP,支持复杂网络。

  • ss:高效 socket 解析,输出清晰。

  • nftables:统一 IPv4/IPv6,规则简洁。

  • podman:无守护进程,兼容 Docker,集成 SELinux。

  • journalctl:集中化日志管理,适合运维。

场景示例:在 RHEL 9 服务器上配置网络和服务,使用 nmclisystemctl每日一题:为什么 net-tools 被弃用?

  • 答案:功能有限,维护停滞,iproute2 更高效。


🌐 2. 网络管理

2.1 从 ifconfigip

用途:查看和配置网络接口。 弃用原因ifconfig 不支持 VLAN、IPv6,输出冗长。 替代ip address/ip addr/ip a示例

优势:支持复杂网络,与 nmcli 集成。 RHCE 任务:配置静态 IP 并验证连通性。

2.2 从 netstatss

用途:监控网络连接和监听端口。 弃用原因netstat 性能低,输出复杂。 替代ss -t/ss -l/ss -tulnp示例

优势:快速解析 socket,支持过滤,输出清晰。 RHCE 任务:检查 HTTP 服务(80 端口)是否监听。

2.3 从 routeip route

用途:管理路由表。 弃用原因route 不支持策略路由。 替代ip route示例

优势:支持动态路由,与 nmcli 集成。 RHCE 任务:配置默认网关。

2.4 从 arpip neighbor

用途:管理 ARP 表(IP-MAC 映射)。 弃用原因arp 功能单一。 替代ip neighbor/ip n示例

优势:统一在 iproute2,支持脚本化。 RHCE 任务:排查 ARP 表问题。


📁 3. 文件传输:从 scprsync/sftp

用途:安全传输文件到远程服务器。 弃用原因scp 协议安全性较低,功能单一。 替代rsync/sftp示例

优势rsync 支持增量同步,sftp 提供交互式安全传输。 RHCE 任务:备份日志到远程服务器。


🔍 4. 文本搜索:从 egrep/fgrepgrep -E/grep -F

用途:搜索日志或配置文件中的文本。 弃用原因egrep/fgrepgrep 别名,冗余。 替代grep -E(扩展正则表达式)/grep -F(固定字符串)。 示例

优势:统一 grep 工具,减少学习成本。 RHCE 任务:分析服务日志中的错误信息。


⚙️ 5. 服务管理:从 service/chkconfigsystemctl

用途:管理服务启停和开机自启。 弃用原因service/chkconfig 基于 SysVinit,不适应 Systemd。 替代systemctl示例

优势:Systemd 提供强大服务管理和依赖处理。 RHCE 任务:配置服务开机自启。


🔥 6. 防火墙管理:从 iptablesnftables/firewall-cmd

用途:配置防火墙规则,控制网络访问。 弃用原因iptables 性能低,规则复杂。 替代nftables(推荐)或 firewall-cmd(firewalld 管理)。 示例

优势nftables 统一 IPv4/IPv6,firewall-cmd 简化管理。 RHCE 任务:开放服务端口。 注意:RHEL 9 支持 iptables 兼容模式,但推荐 nftables


🐳 7. 容器管理:从 dockerpodman

用途:部署和管理容器化应用。 弃用原因docker 需守护进程,RHEL 9 默认不支持。 替代podman 4.x。 示例

优势:无守护进程,兼容 Docker,集成 SELinux。 RHCE 任务:部署 Nginx 容器。


📜 8. 日志管理:从 loggerjournalctl

用途:记录和查看系统/服务日志。 弃用原因logger 仅记录,功能单一,Systemd 日志更全面。 替代journalctl示例

优势:集中化日志管理,支持过滤和持久化。 RHCE 任务:排查服务日志。


👤 9. 用户管理:从 useradd -puseradd + passwd

用途:创建用户并设置密码。 弃用原因useradd -p 使用明文密码,不安全。 替代useradd + passwd示例

优势:更安全,符合运维规范。 RHCE 任务:创建用户并配置登录。


🔧 10. 系统初始化:从 init/telinitsystemctl

用途:管理系统初始化和运行级别。 弃用原因init/telinit 是 System V 工具,RHEL 9 使用 Systemd。 替代systemctl示例

advantage:Systemd 提供现代初始化和运行级别管理。 RHCE 任务:更改系统运行级别。


⚠️ 11. 澄清:mount -asystemctl daemon-reload

误解systemctl daemon-reload 不替代 mount -a功能

  • mount -a:挂载 /etc/fstab 中定义的所有文件系统。

  • systemctl daemon-reload:重新加载 Systemd 配置文件。

    用途mount -a 用于验证 fstabsystemctl daemon-reload 用于更新服务配置。 RHCE 任务:验证挂载点或重载服务。


🛠️ 12. 实践实验室与每日任务

用途:通过实践巩固 RHEL 9 常用工具。 RHCE 相关性:高(模拟考试场景)。

12.1 实践实验室

  • 任务 1:网络与防火墙

    • 使用 nmcli 配置静态 IP。

    • 使用 firewall-cmd 开放 80 端口。

  • 任务 2:服务与容器

    • 使用 systemctl 配置 httpd 开机自启。

    • 使用 podman 运行 Nginx 容器。

  • 任务 3:日志与用户

    • 使用 journalctl 排查 httpd 日志。

    • 使用 useraddpasswd 创建用户。

12.2 每日任务

  • Day 1

    • 运行 ip addrss -tulnp,替换 ifconfignetstat

  • 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 提示:重点掌握 nmclissnftablespodman,考试高频。

  • 备注:如需旧工具,安装:

最后更新于