【发布时间】:2010-10-16 16:22:23
【问题描述】:
当我想知道我登录的 Solaris 机器的 IP 地址时,我想发出什么命令?
【问题讨论】:
-
觉得这个问题不应该被关闭,如果它得到了
22 upvotes和140,000 + views...这显然是一个对人们有用的问题
标签: unix networking ip-address solaris ip
当我想知道我登录的 Solaris 机器的 IP 地址时,我想发出什么命令?
【问题讨论】:
22 upvotes和140,000 + views...这显然是一个对人们有用的问题
标签: unix networking ip-address solaris ip
尝试使用ifconfig -a。寻找“inet xxx.xxx.xxx.xxx”,即你的IP地址
【讨论】:
ifconfig 只会打印帮助文件。
如果您是普通用户(即不是“root”)ifconfig 不在您的路径中,但这是您想要的命令。
更具体地说:/usr/sbin/ifconfig -a
【讨论】:
-a 将该命令应用于指定地址族的所有接口。如果在命令行上或通过 /etc/default/inet_type 未提供地址族,则将选择所有地址族。 docs.oracle.com/cd/E19253-01/816-5166/6mbb1kq31
以下对我来说效果很好:
ping -s my_host_name
【讨论】:
/usr/sbin/host `hostname`
应该可以解决问题。请记住,solaris 机器具有多个 IP 地址是一种非常常见的配置,但在这种情况下
/usr/sbin/ifconfig -a inet | awk '/inet/ {print $2}'
将全部列出
【讨论】:
hostname 和 uname 将为您提供主机的名称。然后使用nslookup 将其转换为IP 地址。
【讨论】:
/usr/sbin/ifconfig -a | awk 'BEGIN { count=0; } { if ( $1 ~ /inet/ ) { count++; if( count==2 ) { print $2; } } }'
这将列出机器的确切 IP 地址
【讨论】:
下面的 shell 脚本给出了一个很好的接口和 IP 地址的表格结果(不包括环回接口)它已经在 Solaris 机器上测试过
/usr/sbin/ifconfig -a | awk '/flags/ {printf $1" "} /inet/ {print $2}' | grep -v lo
ce0: 10.106.106.108
ce0:1: 10.106.106.23
ce0:2: 10.106.106.96
ce1: 10.106.106.109
【讨论】:
还有:
getent $HOSTNAME
或者可能:
getent `uname -n`
在 Solaris 11 上,ifconfig 命令被视为旧命令,正在被 ipadm
取代ipadm show-addr
将为 Solaris 11 及更高版本显示系统上的 IP 地址。
【讨论】:
getent hosts $HOSTNAME 或getent hosts `uname -n`