因此,对于 OP 关于如何在系统上获得清晰可靠的信息的问题,我认为答案应该是同时system_profiler用于硬件和软件:
$ system_profiler SPHardwareDataType
Hardware:
Hardware Overview:
Model Name: MacBook Pro
Model Identifier: MacBookPro13,3
Processor Name: Intel Core i7
Processor Speed: 2.9 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 8 MB
Memory: 16 GB
Boot ROM Version: 254.0.0.0.0
SMC Version (system): 2.38f7
Serial Number (system): C02*********
Hardware UUID: ********-****-****-****-************
$ system_profiler SPSoftwareDataType
Software:
System Software Overview:
System Version: macOS 10.14.4 (18E226)
Kernel Version: Darwin 18.5.0
Boot Volume: Macintosh HD
Boot Mode: Normal
Computer Name: MacBook No 2
User Name: Seamus (seamus)
Secure Virtual Memory: Enabled
System Integrity Protection: Enabled
Time since boot: 13:13
根据这个 SO answer,
arch
区分 PowerPC (ppc
) 和 Intel (i386
),而不是 x86 上的 32 位和 64 位内核。因此,在这种情况下,i386
意味着 x86 CPU。检查输出
uname -m
以找出您的机器类型。(在 Linux 上,arch
相当于uname -m
.)另请参阅此询问不同的问答。
在 macOS 系统上,与在其他 BSD 系统上一样,您应该使用该
machine
实用程序:i386
如果您习惯于arch
其他系统上的实用程序,这会产生误导。在 macOS Mojave 上,i386
意味着它能够运行为 Intel 系列处理器编译的 32 位软件。请注意,arch
与 Linux 等相比,macOS 上的实用程序用于完全不同的事情(参见其手册)。你也可以
uname -m
在 Linux 上使用 as:我觉得使用“传统”实用程序(例如
arch
、uname
、sw_vers
)来发现 Mac 的硬件或软件可能不是很可靠。肯定是不一致的!甚至系统手册也充满了不一致之处。这并不是说您无法从这些实用程序中获得有用的信息,只是说除非您知道要查找的内容,否则您可能会获得与在其他系统上获得的结果不同的结果。
例如:
不!(除非您使用的是非常旧的计算机。)
另一个例子是操作系统版本。
man sw_vers
并且man uname
都声称报告“操作系统版本”:这一切都很好——我们知道内核和发行版的版本编号是不同的,但是这两个命令的系统手册都说你得到了
OS Version
. 了解电流的起源可以macos
解释其中的一些原因,但不能解释为什么系统手册不一致。因此,对于 OP 关于如何在系统上获得清晰可靠的信息的问题,我认为答案应该是同时
system_profiler
用于硬件和软件:此外,系统手册
system_profiler
似乎保持在更新的状态。最后,关于标题问题:“[
arch
i386 的输出] 在 macOS Mojave 上意味着什么?” . 答:很遗憾,这意味着Apple 没有正确维护他们的文档和/或应用程序。