在 Linux 世界里,有些命令几乎陪伴了几代运维工程师成长。从早年的 Unix 到今天的云计算时代,很多经典工具依然能够正常运行,因此不少人也一直保持着几十年前养成的使用习惯。
不过,能够使用并不意味着仍然值得继续使用。
这些年来,Linux 内核、网络协议以及安全机制不断演进,许多曾经家喻户晓的网络工具实际上已经进入维护状态,甚至官方已经明确建议使用新的替代方案。新的工具不仅功能更加丰富,执行效率更高,在安全性、兼容性以及自动化运维方面也有着明显优势。
对于刚开始学习 Linux 的朋友来说,现在直接掌握新的命令,比花时间熟悉那些已经逐渐退出主流的工具更有价值;而对于已经从事运维工作的工程师来说,及时更新自己的命令库,也能让日常工作更加高效。

下面几个曾经非常经典的 Linux 网络命令,就是最典型的代表。
Telnet
如果接触 Linux 时间比较久,对 Telnet 一定不会陌生。
在互联网发展的早期,Telnet 曾经是最重要的远程登录协议之一。管理员只需要输入一条命令,就能够连接到另一台服务器,在远程终端中完成各种管理操作。
当时的网络环境远没有今天复杂,互联网规模也非常有限,因此 Telnet 的设计重点放在"能够连接"上,而不是"如何保证安全"。
问题也正出在这里。
Telnet 在通信过程中几乎所有数据都是明文传输,包括用户名、密码以及终端输入的所有命令。如果网络中的数据被抓包,这些信息几乎可以直接读取。
放到今天,这显然已经无法满足现代服务器的安全要求。
因此,现在几乎所有 Linux 发行版都默认提供 SSH(Secure Shell)作为远程登录方案。
SSH 最大的变化,就是整个通信过程都会经过加密处理,无论是身份认证还是数据传输,都不会以明文形式出现在网络中。同时,它还支持公钥认证、多因素认证、端口转发、隧道等大量高级功能,已经成为 Linux 远程管理的事实标准。
如今,大多数云服务器、物理服务器以及企业数据中心,都已经完全采用 SSH 管理,Telnet 更多只会出现在一些老旧网络设备或特殊调试场景中。
对于日常 Linux 运维而言,SSH 已经完全取代了 Telnet。
ifconfig
很多 Linux 教程第一页都会介绍 ifconfig。
直到今天,不少运维人员查看 IP 地址时,第一反应依然是输入:

事实上,这条命令来自早期的 net-tools 工具集,而这个项目已经多年没有积极维护。
随着 Linux 网络架构不断发展,越来越多的新特性无法继续通过 ifconfig 实现,例如策略路由、网络命名空间、VXLAN、VRF、多路径路由等。
为了统一网络管理方式,Linux 社区后来推出了 iproute2 工具集,其中最核心的就是 ip 命令。
相比 ifconfig,ip 并不仅仅是查看 IP 地址那么简单。
它几乎覆盖了整个网络配置流程,包括查看网卡信息、配置地址、修改路由、管理邻居表、查看链路状态、配置策略路由等内容。
例如查看地址:

查看路由:

查看网卡状态:

这些命令采用统一的语法结构,逻辑更加清晰,也更容易扩展。
现在几乎所有现代 Linux 发行版默认都会安装 iproute2,而不少精简版系统甚至已经不再自带 ifconfig,需要额外安装 net-tools 才能使用。
对于学习 Linux 网络管理来说,直接掌握 ip 命令已经成为更好的选择。
scp
很多人在服务器之间传输文件时,都会使用 scp。
它依赖 SSH 建立安全连接,因此相比 FTP 和传统复制方式已经安全很多。
例如:
scp file.txt user@server:/home/
这条命令简单直接,因此长期以来一直深受运维人员欢迎。
不过近年来,OpenSSH 官方已经建议更多使用 SFTP 或 rsync 完成文件传输。
原因并不是 scp 不安全,而是在协议设计和兼容性方面,它已经暴露出一些局限。
SFTP 本质上也是建立在 SSH 之上,同样采用加密传输,但它提供了更加完整的文件管理能力。
登录后,可以像操作本地终端一样浏览目录、创建文件夹、上传下载文件,还支持断点续传、目录操作以及更好的兼容性。
对于大量文件同步,rsync 的优势则更加明显。
它最大的特点是增量同步。
第一次会完整复制所有数据,之后再次同步时,只会传输发生变化的部分,因此速度更快,也更加节省网络带宽。
无论是网站发布、日志同步还是服务器备份,rsync 都已经成为企业环境中的标准工具之一。
因此,在现代 Linux 运维中,scp 更多适合偶尔复制少量文件,而持续的数据同步和批量传输,则越来越多交给 SFTP 或 rsync 完成。
netstat
对于网络故障排查来说,netstat 曾经几乎是每位运维工程师都会使用的命令。
查看监听端口:

查看连接状态:

查看网络统计信息:

这些操作曾经都是排查网络问题的标准流程。
不过,netstat 同样属于 net-tools 工具集,与 ifconfig 一样,已经进入长期维护状态。
现在 Linux 官方更推荐使用 ss(Socket Statistics)。
相比 netstat,ss 最大的优势就是速度更快。
它直接从 Linux 内核获取 Socket 信息,而不是依赖传统方式解析,因此面对几万甚至几十万个网络连接时,依然能够快速返回结果。
在高并发服务器上,这一点尤为明显。
例如查看 TCP 连接:

查看监听端口:

查看所有 Socket:
除此之外,ss 还能显示更多连接细节,包括进程信息、队列状态、TCP 参数等,对于分析服务器性能瓶颈更加方便。
目前,大部分主流 Linux 发行版已经默认安装 ss,而不少官方文档也逐渐用它替代了 netstat。
很多人第一次接触 Linux 时学习到的命令,可能来自十几年前甚至二十年前的教材。虽然这些命令今天依旧能够运行,但 Linux 本身一直在持续发展,新的工具也在不断诞生。
这种变化并不是为了推翻过去,而是为了适应新的网络环境和更复杂的运维需求。服务器规模越来越大,网络连接越来越多,安全要求越来越高,传统工具在设计之初并没有考虑今天的这些场景,自然也就逐渐被新的解决方案所取代。
对于运维工程师而言,真正重要的不是死记硬背某一条命令,而是理解 Linux 工具的发展方向。像 SSH、ip、ss、SFTP、rsync 等工具,已经成为现代 Linux 系统中的主流选择,也是越来越多企业环境中的默认配置。
如果你的命令习惯还停留在多年前,不妨趁着这个机会更新一下自己的工具箱。当新的命令逐渐成为肌肉记忆之后,无论是日常维护、故障排查,还是自动化运维,都能够更加得心应手。
毕竟,Linux 从来不是一成不变的操作系统,而是一套始终保持进化的生态。跟上它的发展节奏,也是每一位 Linux 用户和运维工程师持续成长的重要一步。