我应该退出使用Ifconfig吗?


171

在安装Infiniband卡的服务器上,当我使用ifconfig命令时,会收到以下警告:

Ifconfig uses the ioctl access method to get the full address 
information, which limits hardware addresses to 8 bytes.
Because Infiniband address has 20 bytes, only the first 8 bytes 
are displayed correctly.
Ifconfig is obsolete! For replacement check ip.

我应该退出使用ifconfig吗?不赞成使用该ip命令吗?还是会在不久的将来更新?

注意:这个问题和答案与GNU / Linux的 “主要”发行版有关。不应假定该信息适用于所有发行版,尤其不适用于其他OS。


23
切换越早越好。我花了几个月的时间来替换的肌肉记忆ifconfig。它确实使Windows上的操作更加有趣。“ ip add-不,等等,不是ifcon吗,ipconfig
查尔斯(Charles)

7
也许别名会有所帮助:alias ipconfig='echo ipconfig is deprecated, use ip instead'。当然,您设置了更多有意义的别名。
ott

98
ifconfig被弃用了吗?我一定是住在一个山洞里
2012年

26
我很好奇一个名为“ ip”的命令具有执行链接级操作的能力。
James O'Gorman

12
仅在某些操作系统上不推荐使用。如果您在Linux之外使用东西,我相信ifconfig仍在使用。例如,我在FreeBSD上没有看到这样的警告。
Stefan Lasiewski

Answers:


154

引用Thomas Pircher的网站(cc-by-sa):

ifconfig与ip

该命令/bin/ip已经存在了一段时间。但是人们继续使用旧命令/sbin/ifconfig。让我们清楚一点:ifconfig不会很快消失,但是它的较新版本ip更加强大,最终将取代它。

的手册页ip乍看起来可能令人生畏,但是一旦您熟悉了命令语法,就很容易阅读。该页面不会介绍ip的新功能。相反,它具有并排比较的功能ifconfigip以便和快速了解命令语法。

显示网络设备和配置

ifconfig

ip addr show
ip link show

启用网络接口

ifconfig eth0 up
ip link set eth0 up

网络接口以类似的方式被禁用:

ifconfig eth0 down
ip link set eth0 down

50
有趣的是,您提到的ip命令在每种使用情况下都更长且更复杂。可能是人们仍然使用的主要原因ifconfig
TheLQ 2012年

22
@TheLQ:ip提供了更多的功能。当然,它更复杂。无论如何,许多命令都可以缩短。例如,ip addr show可以缩短到ip aip link showip lip link set eth0 upip l set eth0 up等。这ipifconfig
BatchyX

16
请记住,整个世界都不是Linux机器。的Solaris,AIX,HP-UX,所有的BSD系统,而SCO(不是每个人关心他们)都使用ifconfig。如果您想成为unix管理员(而不仅仅是Linux管理员),则应确保您至少熟悉ifconfig及其基本语法...
voretaq7 2012年

9
您的第一个示例回答了它。为什么要在执行1条命令时运行2条命令?
ott--

6
@ott ip addr show几乎包含的输出ip link show
nyuszika7h 2014年

40

是的,在Linux上ifconfig不推荐使用iproute2(该ip命令)。

类似地,arproutenetstat命令也弃用。

但是,iproute2是特定于Linux的,当其他一些Unix使用时ifconfig,因此如果您要使用另一个Unix,它可能有助于了解/记住它的工作原理。

要学习“新方法”,建议您查看以下3个链接:

根据最后一个链接,ifconfig已有超过15年没有被维护

除了Debian积累的补丁数量外,在2001年4月15日左右发布的1.60版之后,net-tools软件包没有任何上游开发。


9
ifconfig是由BSD在当时开发的。Linux本质上使用了BSD的IP堆栈(就像Windows和其他时候一样,为什么ipconfig仍然与相似ifconfig)。从2001年初开始,在2.4内核Linux开始与BSD堆栈大相径庭ifconfig。从那时起,Linux一直没有得到很好的维护,这并非偶然。
克里斯S

3
10年!?我想是时候在GitHub上启动“保存ifconfig”项目了。
kenchilada

20

ifconfig 现在已弃用很多年了,该切换时间了,尤其是在像您这样的情况下。


1
我也喜欢它的cisco-esque命令缩写。“ ip a” =“ ip地址显示”
Coops 2012年

5
嗯 在ifconfig之上构建了足够多的脚本和其他工具,我不认为无需切换就可以了...
Jason Antman 2012年

10
我从未听说过ip。我只是在FreeBSD服务器上测试过,它说ip: Command not found.。也许ifconfig仅在Linux上不建议使用。
ctype.h 2012年

2
@ ctype.h:确实,仅在linux上不推荐使用。ifconfig的发布目标是linux,其历史可以追溯到1999 ip年。已经是2.4内核的推荐选择。
BatchyX

5

ip已经有ifconfig一段时间了,可能会在某个时候ifconfig进行更新,但是我不会等它并学会使用ip它。它在所有Linux发行版上都受支持


8
ip已被Linux上的 ifconfig替代,某些发行版对此进行了选择。
卡兹(Kaz)2012年

似乎不可能使ifconfig与Linux完全兼容。像ifconfig eth0 192.168.0.7/24这样的命令没有明确的含义:如果eth0已经有2个ip地址(两个,而不是一个eth0:1之类的别名)。
杰森
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.