这些 Linux 命令已被弃用,别再用了(附替代方案)
你是否还在使用那些早已过时的 Linux 命令?也许是时候寻找它们的替代方案了。
信不信由你,你可能正在使用一个已被弃用的 Linux 命令,或者至少尝试过使用它。
这并非你的错。要么是习惯使然,要么是你从网上那些陈旧过时的教程中学到了它们。
在网络管理命令方面尤其如此,其中许多命令已被或即将被新的命令所取代。
本文将列出一些这样的 Linux 命令。你或许仍然能在自己的发行版中找到它们,这通常是为了向后兼容,或是底层已采用了新的实现,又或是计划在未来版本中移除。但无论如何,作一名有见识的 Linux 用户,了解这些信息总是有益的。

scp – 可能将被弃用
scp 命令,即 secure copy(安全复制)的缩写,使用 SSH 协议在两台 Linux 机器之间复制文件。其最大的卖点在于,它的语法与熟悉的 cp 命令高度一致。
这正是 scp 在 Linux 用户中广受欢迎的原因。你知道 cp 命令用于在本地机器上复制文件,而使用相似的语法就能在机器之间复制文件。
然而,scp 命令似乎存在一些问题。OpenSSH 团队指出,SCP 协议已经存在数十年,不仅未曾更新,还存在许多安全洞。
因此,各大发行版正倡导弃用它,转而使用 rsync 等命令,或者创建底层使用 SFTP 协议的新版 scp。Red Hat 和 Fedora 已经创建了 scp 的新实现。
对于其他发行版,是否继续使用 scp 仍存在争议。考虑到这种不确定性,逐步转向 rsync 无疑是明智之举。
📋推荐替代方案:
rsync和sftp命令。
egrep 和 fgrep – 已被 grep 的参数取代
grep、egrep 和 fgrep,听起来很像,对吧?因为它们的功能确实很相近。
grep 是其中最早也是最古老的命令,诞生于几十年前。
egrep 和 fgrep 命令则是在稍晚些时候创建的,用于扩展 grep 命令的功能。
egrep命令允许使用扩展正则表达式。fgrep命令则处理固定字符串,而非正则表达式(grep的默认行为)。
但是,如果这些功能可以作为原始命令的选项来实现,又何必设置单独的命令呢?
而这正是后来发生的事情。grep 命令经过修改,增加了新的选项,提供了与 egrep(使用 grep -E)和 fgrep(使用 grep -F)相同的功能。
但遗憾的是,**许多用户和教程仍在沿用 egrep 和 fgrep**。各发行版也默认包含这些命令。
📋推荐替代方案:用
grep -E替代egrep,用grep -F替代fgrep。
netstat – 使用其他工具查看网络状态
netstat 命令曾是一款出色的网络分析工具,能胜任从高层次到底层的各种诊断任务。
你可以用它来监控 TCP/UDP 数据包、套接字,查看网络接口等等。
它曾是 net-tools 软件包的一部分。自 2010 年左右 net-tools 软件包被弃用以来,各大发行已不再默认包含 netstat 命令。
📋推荐替代方案:使用
ss命令。
ifconfig – 一个时代的告别
这曾是在 Linux 系统中查看 IP 地址和网络接口其他信息的首选命令。
在旧的论坛帖子和教程中,你仍会看到它的身影。该命令随着 net-tools 软件包一同被弃用。
如今,它的所有功能都已由 ip 命令承载。事实上,许多曾是 net-tools 包一部分的流行网络管理命令,都已被弃用。
arp, route, iptunnel, nameif – 与 net-tools 一同被淘汰
如果你阅读一本 2010 年前的旧 Linux 书籍,你会发现 arp、route 等网络命令,但它们在你的 Linux 系统上早已不复存在,甚至无法安装。
它们中的大多数现在都被 ip 命令的各种子命令所取代:
- arp – 由
ip n取代 - iptunnel – 由
ip tunnel取代 - nameif – 由
ip link取代 - route – 由
ip route取代
iwconfig – 它还存在吗?

虽然 iwconfig 不属于 net-tools 软件包,但它类似于 ifconfig 命令,只是专门用于无线网络接口。
在 Ubuntu 22.04 中我仍能看到它,但关于其将被弃用的讨论已持续了一段时间。它已经从 Red Hat 和许多其发行版中移除。
📋推荐替代方案:使用
iw命令。
iptables – 被其开发者亲自取代
iptables 命令是配置防火墙的 NAT(网络地址转换)和包过滤规则时的首选工具。
至今仍有许多 Linux 用户在使用它。然而,其起源项目 netfilter 已经创建了名为 nftables 的替代命令。
为什么?因为“iptables 框架变得有些臃肿复杂,iptables、ip6tables、arptables 和 ebtables 都提供了不同但相似的功能。”
于是,一个新工具应运而生,旨在将它们统一到 nftables 之下。你可以阅读这篇关于 iptables 和 nftables 命令的对比文章。
你几乎可以在所有 Linux 发行版中找到 iptables。但考虑到其开发者亲自创造了替代品,开始转向新工具是明智的选择。
📋推荐替代方案:使用
nftables命令。
结论
我并不是建议你立即抛弃那些仍可用但即将被弃用的命令。你曾努力学习它们,它们已成为你的肌肉记忆。
但考虑到它们可能很快就会消失(或已经消失),让自己与时俱进,避免未来措手不及,才是更好的选择。在有空闲时间时,不妨检查并更新你的自定义脚本和笔记。
既然我们正在讨论替代命令,我想分享一篇上月写的有趣文章。它是关于一些经典 Linux 命令的现代替代品的。例用 bat 替代 cat,用 duf 替代 du 和 df 等等。
现在,轮到你了。
告诉我,上面提到的旧 Linux 命令中,你还在使用哪些?
或者,你已经抛弃了哪些,并转向了它们的替代品?
评论区交给你了。
这些 Linux 命令已被弃用,别再用了(附替代方案)
https://blog.wty.cool/2025/12/03/deprecated-linux-commands-you-should-not-use-anymore/


