获取Linux机器的IP地址-几种常用方法

373人浏览   2024-04-22 11:35:26

相信很多人已经使用Linux命令很长时间了,也习惯了命令行模式,现在通过这样一个游戏对各位进行一下思维发散大挑战,说到Linux的IP地址其实大家都知道一个命令——ifconfig ,可以查看到Linux的IP,我想说的是,我只要Linux的IP地址(注意Linux系统中网卡名称,本次演示使用的网卡名称为eth0,实际使用时请修改为自己的网卡名称)。

图片来源于网络

本文想要的结果:

10.10.9.201

通常大家想到的:

第一种方法:

[root@xiaoyu ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:50:56:94:54:E2  
          inet addr:10.10.9.201  Bcast:10.10.9.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fe94:54e2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1559452 errors:0 dropped:0 overruns:0 frame:0
          TX packets:566892 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:726285330 (692.6 MiB)  TX bytes:65904357 (62.8 MiB)

第二种方法:

[root@c ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:50:56:94:54:E2
IPADDR=10.10.9.201
GATEWAY=10.10.9.1
DNS1=10.10.8.31
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
NETMASK=255.255.255.0
USERCTL=no
PEERDNS=yes

现总结了一下七种方法,供各位参考:

第一种方法:

[root@xiaoyu ~]# ifconfig | grep "Bcast" | cut -d ":" -f2 | cut -d " " -f1
10.10.9.201

第二种方法:

[root@xiaoyu ~]# ifconfig | grep "Bcast" | awk -F ":" '{print $2}' | awk -F " " '{print $1}'
10.10.9.201

第三种方法:

[root@xiaoyu ~]# ifconfig | grep "Bcast" | awk -F "[: ]+" '{print $4}'
10.10.9.201

第四种方法:

[root@xiaoyu ~]# ifconfig eth0 | sed -n '2p' | awk -F "[: ]+" '{print $4}'
10.10.9.201

第五种方法:

[root@xiaoyu ~]#  ifconfig eth0 | awk -F "[: ]+" 'NR==2 {print $4}'
10.10.9.201

第六种方法:

[root@c ~]# grep IPADDR /etc/sysconfig/network-scripts/ifcfg-eth0 | cut -d "=" -f2

第七种方法:

[root@c ~]# ifconfig eth0 | sed -n '/inet add/p' | sed 's#^.*add##g' | sed 's# Bc.*$##g'

第八种方法:

[root@xiaoyu ~]# ifconfig eth0 | sed -n 's#^.*addr:\(.*\) Bcas.*$#\1#gp'
10.10.9.201 

补充:(查看机器的公网地址)

curl ifconfig.me

相关推荐