如何找到我的Linux机器上的主要IP地址?
问题描述:
我听说有类型,如主地址等的IP地址,并尝试使用下面的命令如何找到我的Linux机器上的主要IP地址?
ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'
要获取IP地址,并得到结果如下
192.168.122.1 192.168.168.1 172.16.142.1 192.168.1.102
所以从上面可以有人回答我的主要地址是?
答
没有“主地址”或“主设备”这样的东西。您有多个与多个网络设备相关的IP地址。
你可以找出哪些设备允许你访问互联网并找到它的本地IP地址。
为此,请发出命令route
。这将输出类似
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.0.254 0.0.0.0 UG 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
现在,所有你需要的是用就行了default
设备和该命令使用它:
ifconfig <DEVICENAME> | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*'
答
当一台机器有不同的IP地址,这是不可能的从仅从网络角度定义主要IP。但是一台机器的名称通常可以通过uname -n
命令或POSIX功能uname
获得。获得该名称后,您可以通过getent
命令或gethostbyname
函数找到与其对应的IP地址:所谓的主IP地址是返回的第一个地址。
所以在这里你可以使用:
getent hosts $(uname -n) | head -1 | cut -f 1 -w
答
主要地址取决于您的使用,有没有这样的网络水平。如果您通常使用一个IP访问您的服务器,则可以将其称为主服务器,而网络设备将不知道其差异。
[如何获取Linux和OS X上本地计算机的主IP地址?](https://stackoverflow.com/questions/13322485/how-to-i-get-the-primary -ip-address-of-the-local-machine-on-linux-and-os-x)你还应该说明你正在使用的编程语言。你会得到更好的结果。 – jww