多年来,Linux 世界里陆续有一些命令被官方或社区标注为「已弃用」。它们往往还能运行,但要么存在安全隐患,要么早已停止维护,或者被功能更全、Bug 更少的现代工具取代。下面整理了七个最常见、却该逐步退场的命令,以及各自的替代方案。

cron:交给 systemd 定时器或 launchd
在众多被弃用的命令里,cron 大概是最让人又爱又恨的一个。它语法别扭,环境变量也最难调试。在现代 Linux 发行版上,systemd 已经接管了大量启动与定时任务,查看已有定时器只需一行:
systemctl list-timers
在 macOS 上,cron 同样不再推荐,替代者是 launchd——它能做的远不止定时任务,还能在电脑关机时规划需要补跑的工作。
ifconfig:用 ip 取代
ifconfig 属于老旧的 net-tools 套件,如今已被 ip 命令取代。ip address 一行就能看到网卡、IP 地址与对外路由等全部网络信息。虽然用网站查 IP 也很方便,但排查本机网络问题时,本地命令永远比一个随时可能停服的远程站点可靠。
nslookup:dig 更强大
nslookup 用来查询域名解析,而 dig 做的是同一件事,却提供了更丰富的调试信息和更清晰的输出格式。对于只想快速查个地址的场景,nslookup 勉强够用;一旦需要详细记录类型或排错,dig 应当是首选。
neofetch:fastfetch 等后继者
那个在终端里打印彩色 ASCII logo 的 neofetch 已于 2024 年正式停更。好在替代品层出不穷,其中 fastfetch 因持续活跃维护、可高度自定义而最受推崇;相比之下,ufetch、pfetch 等同类项目大多已归档。如果只想炫一下系统配置,fastfetch 是目前最稳的选择。
scp:大目录用 rsync 更快
scp 基于 SSH 安全拷贝文件,简单任务很好用,但它已被 rsync 取代。两者上传单个文件的写法几乎一样,可一旦涉及需要反复同步的目录,rsync 只传输差异部分,效率远高于 scp 每次整文件重传。
netstat:ss 是升级版
netstat 同样来自过时的 net-tools 套件,现代等价物是归属 iproute2 的 ss。它能显示开放套接字、路由表与网络统计,是排查连接与流量性能的更好工具。
which:type 更准确
which 用来定位命令路径,但在部分系统上它只是一个可执行程序,无法感知 shell 内建命令,因此信息并不完整。更可靠的做法是用 shell 内建的 type——它能清楚区分这条命令究竟是内建指令、函数、别名还是独立程序,必要时同样支持 -a 参数列出所有匹配项。
迁移到这些现代命令,短期看只是换个写法,长期却能少踩很多坑,也顺手获得更多功能。
来源:How-To Geek(作者 Bobby Jack)







