答案1
答案2
在 macOS 系统上,与其他 BSD 系统一样,您应该使用该machine
实用程序:
$ arch
i386
$ machine
x86_64h
i386
如果您习惯于arch
其他系统上的实用程序,这会产生误导。在 macOS Mojave 上,i386
这意味着它能够运行为 Intel 系列处理器编译的 32 位软件。请注意,arch
与 Linux 等操作系统相比,macOS 上的实用程序用于完全不同的用途(请参阅其手册)。
您还可以uname -m
在 Linux 上使用:
$ uname -m
x86_64
答案3
我觉得使用“传统”实用程序(例如arch
、uname
、sw_vers
)来发现 Mac 的硬件或软件可能不太可靠。这肯定是不矛盾的!甚至系统手册也充满了不一致之处。
这并不是说您无法从这些实用程序中获取有用的信息,只是说除非您知道自己在寻找什么,否则您可能会得到以下结果不同的从您在其他系统上获得的内容。
例如:
$ arch
i386
不! (除非您使用的是非常旧的计算机。)
另一个例子是操作系统版本。man sw_vers
两者man uname
都声称报告“操作系统版本”:
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.4
BuildVersion: 18E226
$ uname -v
Darwin Kernel Version 18.5.0 .... # output snipped
这一切都很好 - 我们知道内核和发行版版本编号是不同的,但是这两个命令的系统手册说你得到了OS Version
.了解当前的起源macos
解释了其中一些,但没有解释为什么系统手册不一致。
因此,对于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
此外,系统手册似乎system_profiler
保持在更新的状态。
最后,至于标题问题:“[i386 的输出arch
] 在 macOS Mojave 上意味着什么?”。回答:不幸的是,方法Apple 没有正确维护其文档和/或应用程序。