如何找出分配给eth0的IP地址并仅显示IP

时间:2020-01-09 10:39:12  来源:igfitidea点击:

问题描述:如何获取分配给eth0 Linux接口的IP地址。
如何仅查找IP地址?
我不希望Linux ifconfig命令显示其他信息。

解决方法:对于shell脚本或其他原因,您可能只需要IP地址。
您可以将ifconfig命令与grep和其他过滤器一起使用。

/sbin/ifconfig命令的默认输出是所有接口:

$ /sbin/ifconfig

输出:

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:69527 errors:0 dropped:0 overruns:0 frame:0
          TX packets:69527 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:41559546 (39.6 MiB)  TX bytes:41559546 (39.6 MiB)

eth0      Link encap:Ethernet  HWaddr 00:17:9A:0A:F6:44
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::217:9aff:fe0a:f644/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:227614 errors:0 dropped:0 overruns:0 frame:0
          TX packets:60421 errors:0 dropped:0 overruns:0 carrier:0
          collisions:272 txqueuelen:1000
          RX bytes:69661583 (66.4 MiB)  TX bytes:10361043 (9.8 MiB)
          Interrupt:17

ra0       Link encap:Ethernet  HWaddr 00:50:56:C0:00:01
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fec0:1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1024 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1320 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

现在,您只需选择eth0,如下所示:

$ /sbin/ifconfig eth0

现在,您只需要IP地址,请使用grep获取IP:

$ /sbin/ifconfig eth0| grep 'inet addr:'

输出:

inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0

要使用cut命令获取IP地址:

$ /sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2

输出:

192.168.1.1  Bcast

最后用awk删除Bcast

$ /sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print }'

输出:

192.168.1.1