如何从机器名称请求 IPv4 地址?
How to request IPv4 address from a machine name?
在我的 linux 集群中,我有一堆主机名,而我的网络管理日志显示了 IP 地址(它们有时会根据 dns 发生变化)。
我的问题是:如何在不使用 "ping xxxxx" 获取 ip 地址和 Ctrl+c 停止它的情况下快速找出某些主机名的 ipv4。我想写一个简单的脚本,如:
myCommand hostname1
myCommand hostname2
myCommand hostname3
myCommand hostname4
myCommand hostname5
这将为我打印主机名到 ipaddress 的映射(对于主机名 1-5)
那么这个"myCommand"命令或者shell脚本怎么写呢?
谢谢
#!/usr/bin/env bash
function get_ip {
echo
getent hosts | awk '{ print }' | sed 's/^/ /g'
echo
}
用法:
get_ip unix.stackexchange.com
get_ip hostname1
get_ip hostname2
使用 host
来自 bind-tools 的工具:
$ host -4 -t A whosebug.com
whosebug.com has address 151.101.129.69
whosebug.com has address 151.101.1.69
whosebug.com has address 151.101.193.69
whosebug.com has address 151.101.65.69
或来自同一包的dig
工具:
$ dig -4 -t A whosebug.com +short
151.101.129.69
151.101.1.69
151.101.193.69
151.101.65.69
在我的 linux 集群中,我有一堆主机名,而我的网络管理日志显示了 IP 地址(它们有时会根据 dns 发生变化)。
我的问题是:如何在不使用 "ping xxxxx" 获取 ip 地址和 Ctrl+c 停止它的情况下快速找出某些主机名的 ipv4。我想写一个简单的脚本,如:
myCommand hostname1
myCommand hostname2
myCommand hostname3
myCommand hostname4
myCommand hostname5
这将为我打印主机名到 ipaddress 的映射(对于主机名 1-5)
那么这个"myCommand"命令或者shell脚本怎么写呢? 谢谢
#!/usr/bin/env bash
function get_ip {
echo
getent hosts | awk '{ print }' | sed 's/^/ /g'
echo
}
用法:
get_ip unix.stackexchange.com
get_ip hostname1
get_ip hostname2
使用 host
来自 bind-tools 的工具:
$ host -4 -t A whosebug.com
whosebug.com has address 151.101.129.69
whosebug.com has address 151.101.1.69
whosebug.com has address 151.101.193.69
whosebug.com has address 151.101.65.69
或来自同一包的dig
工具:
$ dig -4 -t A whosebug.com +short
151.101.129.69
151.101.1.69
151.101.193.69
151.101.65.69