Answers:
尝试此代码以查看UNIX机器的IP地址
nslookup mach_name
en0
-更通用的答案是使用ifconfig -a
。另外,ifconfig
二进制是不是始终在PATH
为普通用户,使他们可能需要尝试各种咒语,如/sbin/ifconfig -a
,/etc/ifconfig -a
或以root身份登录,并尝试ifconfig -a
。
host `hostname`
或这个
nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}' | tail -n 1
从nslookup开始
nslookup `hostname`
然后搜索“地址”
nslookup `hostname` | grep -i address
这将返回类似
Address: 192.168.1.1#53
Address: 192.168.1.167
现在,我们通过选择文本的第二列来仅检索地址。我们将“”作为字段分隔符
nslookup `hostname` | grep -i address | awk -F" " '{print $2}'
通过选择第一列,我们将摆脱“#53”部分。我们将“#”作为字段分隔符
nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}'
最后一个地址是本地地址。尾巴将帮助我们得到它。
nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}' | tail -n 1
另一种选择ipconfig
是ip(8)
可以稍微缩小输出范围。例如:
$ ip -f inet addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
inet 172.31.39.10/24 brd 172.31.39.255 scope global eth0
您需要的接口不是回送(lo): 172.31.39.10
使用ifconfig
并寻找inet
输出的一部分。请注意,如果您有多个网卡(例如,以太网和无线网卡),则将有多个条目。