我在集群机器中尝试过hostname和ping,具有不同的输出。我想知道这两者有什么区别?例如,在同一台机器上,hostname输出node4.XXX和
ping -c 1 $(hostname)输出pc333.XXX。
发布于 2012-09-25 15:30:39
hostname命令从系统本地主机名配置输出系统主机名(可以是/etc/hostname或/proc/sys/内核/ hostname或其他取决于操作系统)。
命令ping -c 1 <hostname>将通过libc解析器(可能是也可能不是DNS )执行查找。例如,/etc/host不是指定<hostname>的DNS),然后对返回的IP地址执行反向DNS查找,并在ping命令的输出中报告该名称。
作为一个具体的例子,假设本地系统主机名是/etc/hostname中指定的fred。hostname命令将返回'fred‘。命令ping -c 1 fred将执行fred的DNS查找(如果默认域为domain.com,则只执行fred或fred完全限定(如fred.domain.com ))。假设DNS返回IP地址x.x.x.x。然后,ping将执行IP地址x.x.x.x的反向DNS查找,如果没有返回名称,ping将输出IP地址x.x.x.x,否则ping将输出从反向查找中返回的任何名称,该名称可能是不同的名称,如ethel.domain.com。
https://unix.stackexchange.com/questions/49097
复制相似问题