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


8

Linux附带两个实用程序

  • /sbin/route
  • /sbin/ip route

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

  • man 8 route
  • man 8 ip-route

Answers:


9

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

我假设你在Linux上,那么你就应该使用ip,因为routeifconfig已被弃用,但仍然被广泛使用。

进一步阅读:


3
+1表示仅Linux。在一个值得一提的名为Unix&Linux的网站上。
Hennes 2013年

我一直想知道为什么只坚持使用非便携式Linux实用程序,特别是当它们要求您更加冗长时。我觉得写起来ifconfig eth0 up 192.168.0.1/24比舒服ip link set dev eth0 up && ip addr change dev eth0 192.168.0.1/24
艾丽西亚(Alicia)2013年

2
@ntrrgc您可以将其缩短为ip l s eth0 up && ip a c dev eth0 192.168.0.1/24。此外,该/24语法并未在所有ifconfig版本中都实现,在某些系统上,您必须编写netmask 255.255.255.0该语法,从而使其相当冗长。但我同意ifconfig通常会更短。
Marco Marco

0

不同的命令,不同的语法。

route 源于很久以前,仍然存在,主要是因为它一直存在,并且有些东西仍然希望它存在。

ip属于iproute2程序包,它可以做所有事情route,并且可以做的ifconfig很多很多。

有关ip命令的完整文档,请参见此处

TL; DR:始终使用ip

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.