macOS里hostname的理解

本文最后更新于 2024年11月28日 晚上

一切的起因

每次打开打开终端,主机名都是一坨乱码。之前没管,现在想弄清楚到底是怎么回事。我难道没有设置主机名吗?还是说这里不是我所设置的主机名,而是另有其物。

1
appe@a6c6xxx ~>

各个hostname的含义

我一番搜索之后发现其实有三个主机名,它们分别是:

HostName 主机名

我不太清楚其作用。总之,这个主机名就是出现在 shell prompt 里的那个。其不能在 macOS 设置里查看或调整,默认应该处于未设置的状态。这个主机名可以通过 hostname 命令查看。

LocalHostHame 本地主机名

macOS里hostname的理解-1

本地主机名可以在 macOS 设置里更改(通用 > 分享),一般是xxx.local这样的样式。这个主机名一般会被发送给路由器,是电脑的网络名称,同局域网内其它设备一般可通过此主机名(域名)访问到我们的电脑。对这个主机名(域名)进行解析就可以得到我们电脑在此局域网中的IP地址。

比如我们在本机上ping一下:

1
2
3
appe@CialloAPPE ~> ping CialloAppe.local
PING cialloappe.local (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.091 ms

由于在本机进行DNS,拿到了本机的地址(127.0.0.1)。

ComputerName 电脑名

macOS里hostname的理解-2

电脑名可以在设置更改(通用 > 关于)。正如其名,电脑名,是拿来给人看的,目的是辨识。比如隔空投送,别人看到的就是你的电脑名。

如何更改 - scutil

可以使用 macOS 自带工具 scutil 来更改这三个主机名。想知道更详细的可以去看 man scutil

简单来说,这个命令有两个选项 --get 和 --set 。

查看这三种主机名:

1
2
3
scutil --get HostName # 获取主机名
scutil --get LocalHostName # 获取本地主机名
scutil --get ComputerName # 获取电脑名

第一个,主机名无法在设置里更改,所以必须用命令:

1
scutil --set HostName YOUR_HOSTNAME

另外后两种主机名两个可以直接在 macOS 设置里面改。


macOS里hostname的理解
https://www.appe.moe/2023/11/23/macOS里hostname的理解/
作者
APPE
发布于
2023年11月23日
许可协议