主机名信息的 Mac OS X 终端等效项

mar*_*hki 8 command-line osx hostname

在 Linux 中,使用 Bash 终端,我可以:

  • hostname -d 显示 DNS 域的名称,以及
  • hostname -i 显示主机名的网络地址。

如何从 Mac OS X 中的 Bash 终端检索相同的信息——最好使用单个命令(如果需要,带选项),而无需提升权限?

作为参考,这是我在 Mac OS X 中使用的 Bash 版本:

  • GNU bash,版本 3.2.57(1)-release (x86_64-apple-darwin15)。

Tho*_*key 8

对于hostname -d,使用hostname -f

hostname -f | sed -e 's/^[^.]*\.//'
Run Code Online (Sandbox Code Playgroud)

对于 IP 地址,请使用ifconfig -a(查找inet数据)。你的机器可能只有一个网络设备en0,所以你可以只做

ifconfig en0 |awk '/inet / {print $2; }'
Run Code Online (Sandbox Code Playgroud)

如果您对所有网络设备感兴趣,请记住ifconfig -l列出了设备。这列出了设备及其对应的地址:

#!/bin/sh
for name in $(ifconfig -l)
do
    ifconfig $name |awk -v name=$name '/inet / {printf "%s: %s\n", name, $2; }'
done
Run Code Online (Sandbox Code Playgroud)

进一步阅读: