从linux的命令行获取主机的规范主机名最简单的方法是什么?
如果重要的话,我的壳是bash。
澄清:我想要另一个主机的规范主机名,通过IP或非规范主机名。 不是本地主机的规范主机名。
使用dig(1) 。 对于正常的查找使用:
dig full.hostname.xxx
和反向查找使用:
dig -x 127.0.0.1
另外检查手册页更多更酷的选项。
远程主机的节点名称与其任何networking名称都没有必要的关系。 您必须login并使用hostname命令。
如果您正在查找networking地址的完全限定域名(FQDN),则可以使用像dig或nslookup这样的DNS查询工具,如@firm和@Richard Holloway所述。
你也可以使用主机命令。 像这个例子一样
host xxx.xxx.xxx.xyz
结果会是这样的
xyz.xxx.xxx.xxx.in-addr.arpa domain name pointer name.domain.com
要清楚, hostname名将只返回短名称。 使用-f参数; hostname -f获取完全限定的名称。
要findIP为xxx.xxx.xxx.xxx的远程主机的fqdn,可以使用
nslookup xxx.xxx.xxx.xxx
并看到答案包含
name = host.domain.net
规范名称没有“反向查找”。 那就是:给出一个Alogging,没有办法得到CNAMElogging指向它的列表。
这是命令:
hostname
您可以按名称查找IP地址,然后查找该IP地址的名称。 要在一个命令中做到这一点:
$ dig -x `dig +short www.google.com` | grep PTR. 100.212.58.216.in-addr.arpa. 86309 IN PTR lhr35s06-in-f4.1e100.net. 100.212.58.216.in-addr.arpa. 86309 IN PTR lhr35s06-in-f100.1e100.net.
这不适用于所有网站。