Linux 命令:放弃这些旧实用程序,采用现代替代品Linux 命令:放弃这些旧实用程序,采用现代替代品Linux 命令:放弃这些旧实用程序,采用现代替代品Linux 命令:放弃这些旧实用程序,采用现代替代品
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

Linux 命令:放弃这些旧实用程序,采用现代替代品

发表 admin at 2025年2月28日
类别
  • 未分类
标签

这些传统的 Linux 实用程序已通过现代替代品重新焕发活力。

Linux 在软件支持方面有着良好的记录。 Unix 第一版的 man 第 1 节中有大约 60 个命令,其中大多数至今仍然有效。尽管如此,没有人会停止进步。由于全球范围内对开源的广泛参与,新的命令经常被开发出来。有时,一个新命令会受到欢迎,通常是因为它提供了新功能,或相同的功能但具有一致的维护。以下是最近重新发明的十个旧命令。

1.用cheat或tealdeer代替man

手册页很实用,并且非常适合其用途。但是,手册页并不总是最简洁地演示如何使用您尝试引用的命令。如果您正在寻找更切题的内容,请尝试 cheat 或 tealdeer。

2.将ifconfig替换为ip

ifconfig 命令提供有关网络接口的信息,无论它们是物理接口还是虚拟接口。

$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
  inet 10.1.2.34  netmask 255.255.255.0  broadcast 10.0.1.255
  inet6 fe80::f452:f8e1:7f05:7514  prefixlen 64
  ether d8:5e:d3:2d:d5:68  txqueuelen 1000  (Ethernet)
  [...]

tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1360
  inet 10.2.3.45  netmask 255.255.254.0  destination 10.2.14.15
  inet6 2620:52:4:1109::100e  prefixlen 64  scopeid 0x0<global>
  unspec 00-00-00-00-00-00-00-00-[...]0-00  txqueuelen 500  (UNSPEC)
  [...]

较新的 ip 命令提供了类似的信息:

$ ip -4 address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 10.1.2.34/24 brd 10.0.1.255 scope global noprefixroute eth0
4: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
5: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1360 qdisc pfifo_fast state UNKNOWN group default qlen 500
    inet 10.2.3.45/23 brd 10.2.15.255 scope global noprefixroute tun0

3. 将 yum 替换为 dnf,将 apt-get 替换为 apt

包管理器往往改变得很慢,当他们改变时,他们通常会努力保持向后兼容性。 yum 命令和 apt-get 命令最近都有改进。这些更改通常是别名或设计为在新旧语法中均有效:

$ sudo yum install foo
$ sudo dnf install foo
$ sudo apt-get install foo
$ sudo apt install foo

4.用dnf替换repoquery

在 dnf 出现之前,有各种 yum 实用程序来帮助用户获取有关其打包系统配置的报告。大多数这些额外功能默认包含在 dnf 中。例如,repoquery 是 dnf 的子命令,它提供所有已安装软件包的列表:

$ sudo dnf repoquery

5.用pip替换pip

pip 命令是 Python 的包管理器。它尚未被替换,但首选语法已更新。旧命令:

$ pip install yamllint

新语法:

$ python3 -m pip install yamllint

6. 将 ls 替换为 exa

ls 命令尚未被替换。

相反,它没有再被替换。。

ls 命令最初是它自己的二进制应用程序,并且仍然可以作为一个应用程序使用。但最终,Bash shell 包含了自己的 ls 内置命令,默认情况下该命令会覆盖任何已安装的 ls 命令。

最近,exa 命令已被开发为更好的 ls,具体取决于您的喜好。请阅读 Sudeshna Sur 的 exa 命令文章,然后亲自尝试一下。

7. 将du替换为dust或ncdu

du 没有任何问题,它报告硬盘驱动器上使用了多少磁盘空间。它的工作做得很好,但公平地说,它的作用很小。

如果您正在寻找一些变化,请尝试 ncdu 命令或dust 命令。

8.用蝙蝠代替猫

cat 命令除了被我们中最优秀的人过度使用之外,还是一个简单而直接的命令。它读取任意数量的文件的内容,并将其输出到标准输入。

它的输出非常基本,因此如果您正在寻找具有语法突出显示和灵活输出选项的东西,请尝试使用 bat 命令。

bat 是否也取代了 tac 命令?不,不用担心,至少目前 tac 作为反向输出文件的命令是安全的。 (除非您算上 sed。)

9.用ss替换netstat

netstat 命令已大部分被 ss 命令取代,尽管在此列表中的所有命令中它可能是争论最激烈的。 ss 命令提供了大部分相同的功能,但正如 Jose Vicente Nunez 在他的六个已弃用命令文章中指出的那样,功能上存在差距和差异。在批量切换到 ss 之前,请尝试一下并将其与您现在使用 netstat 的方式进行比较。

10.用fd替换find

我使用 find 来定位文件,作为 GNU Parallel 的输入源等。我对它非常熟悉,但我不得不承认它的语法有点笨拙。 fd 命令试图对此进行改进。例如,假设您正在查找名为 example 的文件,但您不记得使用的文件扩展名。使用 find 时,语法可能如下所示:

$ find . -name "*example*"
/home/tux/example.adoc
/home/tux/example.sh

对于fd,语法是:

$ fd example
/home/tux/example.adoc
/home/tux/example.sh

假设您想使用 grep 命令在结果中搜索短语“zombie apocalypse”。使用查找:

$ find . -name "*example*" -exec grep "zombie apocalypse" {} \;
zombie apocalypse

使用 fd 代替:

$ fd txt -x grep zombie
zombie apocalypse

请阅读 Sudeshna Sur 的 fd 文章了解更多相关信息,然后亲自尝试一下。

有关经典命令的更多更新,请下载下面的备忘单。

©2015-2025 Norria support@alaica.com