2015-07-03 52 views
0

是否有任何确定系统物理IP的命令(在每个物理接口上)?显示系统物理IP的linux命令

其实我想制作一个脚本,除了物理IP之外,其他所有的IP都不可用。

由于提前, 迪帕克

回答

1

将有一台服务器一个IP地址,因为它是在网络中该服务器的实体。要获得在Linux中IP adrress:

hostname -i 
+0

这依赖于'hostname'的名称查找。您会惊讶地发现这种情况很容易中断(例如配置错误),或者可能不是您正在寻找的“IP”(例如,在具有多个网络适配器的系统中)。实际上,manpage上写着:“避免使用这个选项;使用主机名--all-ip-addresses(-I)而不是'”。 – DevSolar

+0

嗨Steephen;感谢您的答案..但它没有奏效。我正在获得环回IP ..其实我只需要一个物理IP;不是所有配置的IP。我只需要系统的静态IP。 – Deepak

1

...每个物理接口...

这将是ifconfig

您也可以拨打hostname -I(注意大写字母“I”),其中列出除环回和IPv6本地链路外的所有已配置IP。

+0

嗨DevSolar;感谢您的答案..但它没有奏效。我正在获得环回IP ..其实我只需要一个物理IP;不是所有配置的IP。我只需要系统的静态IP。 – Deepak

+0

@Deepak:'ifconfig'应该列出所有已配置的接口。如果你只能得到一个环回IP,你的设置有些问题(或者你的盒子没有网卡;-))。但是要求“IP”有一个主要问题。一个系统可以有多个NIC。画一个防火墙 - 一个IP到广域网,另一个完全到局域网。哪一个是系统的“IP”?这就是为什么文档敦促你不要依赖'hostname -i'。 – DevSolar

+0

感谢您的帮助,但如果您使用ip addr命令添加ip,ifconfig会显示所有ip列表。 – Deepak