`/sbin/ip route` 和 `/sbin/route` 有什么区别?

Eva*_*oll 8 networking ip route iproute

Linux 带有两个实用程序

  • /sbin/route
  • /sbin/ip route

两者之间有什么区别,当您决定应该使用两者中的哪一个时,要使用的经验法则是什么?我知道它们都记录在两个不同的位置,

  • man 8 route
  • man 8 ip-route

Mar*_*rco 9

route是古老的传统工具,可在许多 Unix 系统上使用。ip属于 iproute2 套件,它是一个仅限 Linux 的工具并使用 Netlink API,这是一个类似套接字的接口,用于访问有关接口、地址分配和路由的内核信息。它取代了大部分的功能ifconfigroutenetstat和其他几个人。

我假设您使用的是 Linux,那么您应该使用ip因为route并且ifconfig已被弃用,尽管仍然被广泛使用。

进一步阅读:

  • +1 提到它是 **Linux only**。在一个名为 *Unix & Linux* 的网站上,值得一提。 (3认同)
  • @ntrrgc 您可以将其缩短为`ip ls eth0 up && ip ac dev eth0 192.168.0.1/24`。此外,并非所有的 ifconfig 版本都实现了 /24 语法,在某些系统上,您必须编写 netmask 255.255.255.0 ,这使得它变得相当冗长。但我同意 `ifconfig` 通常更短。 (2认同)