在我们新拿到Mac电脑或者重置系统后,打开终端(Terminal)会发现 里的 shell 提示符变成奇奇怪的数字

比如 junhua@192~

junhua@192~ 这个shell提示符对于的含义,其中:

  • junhua 👉 你当前登录的用户名
  • 192 👉 你的电脑主机名 (hostname)
  • ~ 👉 当前所在目录(这里的 ~ 是 home 目录的简写)

为什么会自动出现 192?

当 Mac 没有正确配置主机名,或者在网络中名字冲突时,macOS 会自动给主机名起一个简短名字,例如:192、192-168-1-2 之类。

修改方法

1
sudo scutil --set HostName MacBookPro

修改之后需要重启终端,这样就会看到 junhua@MacBookPro ~,这样就是感觉好多了。

Mac电脑三个主机名称

除了HostName还有另外两个值ComputerNameLocalHostName,其实是 macOS 对“电脑名字”的三个不同层次的定义。它们的作用场景不一样,所以经常会看到显示结果不一致。

我们可以通过以下命令获取:

1
2
3
4
5
6
scutil --get ComputerName
#junhua的MacBook Pro
scutil --get HostName
#MBPro
scutil --get LocalHostName
#junhuaMBP

🔹 1. ComputerName

1
junhua的MacBook Pro
  • 这是你在 系统设置 → 通用 → 共享 里看到的 电脑名称
  • 主要作用:显示给 本机用户,或者在 AirDrop / Finder 共享 时出现。
  • 可以包含中文、空格、特殊字符。

🔹 2. LocalHostName

1
junhuaMBP
  • 这是本地网络中的 Bonjour 名称(也叫 本地主机名)。

  • 用来在 局域网内发现服务,一般对应 .local 域名。

    • 比如你可以在局域网的另一台 Mac 上 ping junhuaMBP.local
  • 只能使用 字母、数字和中横线,不能有空格或中文。

  • 在“共享”设置里,如果你改了电脑名,这个值通常也会自动变化。


🔹 3. HostName

1
MBPro
  • 这是 系统级别的主机名,一般用于 终端 / SSH / 脚本
  • 默认情况下,这个值是空的,macOS 会自动回退到 LocalHostName
  • 如果你手动设置过,就会覆盖默认值(比如你现在的就是 MBPro)。
  • 常用于命令行里的提示符(junhua@MBPro ~ 就是用的这个)。

🔎 总结对比表

名称 作用范围 例子 特点
ComputerName 显示用(系统界面、AirDrop、Finder) junhua的MacBook Pro 可以有中文、空格
LocalHostName 局域网 Bonjour / .local 地址 junhuaMBP.local 无中文、无空格
HostName 终端/SSH/系统级别主机名 MBPro 默认空,可手动设置

👉 所以你会看到:

  • Finder 里别人看到的是 junhua的MacBook Pro
  • 局域网服务里你是 junhuaMBP.local
  • 终端提示符里是 MBPro

scutil命令

scutil 不是 Linux 命令,它是 macOS 特有的系统配置工具,全称 System Configuration Utility
它的作用是直接操作 macOS 的 SystemConfiguration 框架,用来读写系统数据。