Câu trả lời:
Theo câu trả lời SO này , arch
phân biệt giữa PowerPC ( ppc
) và Intel ( i386
), không phải giữa các hạt nhân 32 và 64 bit trên x86. Vì vậy, trong bối cảnh này, i386
có nghĩa là CPU x86.
Kiểm tra đầu ra của uname -m
để tìm ra loại máy của bạn. (Trên Linux, arch
tương đương với uname -m
.)
Xem thêm này Hỏi và hỏi đáp khác nhau .
Trên hệ thống macOS, như trên các hệ thống BSD khác, bạn nên sử dụng machine
tiện ích:
$ arch
i386
$ machine
x86_64h
Điều i386
này là sai lệch nếu bạn đã quen với arch
tiện ích trên các hệ thống khác. Trên macOS Mojave, i386
có nghĩa là nó có khả năng chạy phần mềm 32 bit được biên dịch cho họ bộ xử lý Intel. Lưu ý rằng arch
tiện ích trên macOS được sử dụng cho những thứ khá khác so với trên Linux (xem hướng dẫn sử dụng).
Bạn cũng có thể sử dụng uname -m
như trên Linux:
$ uname -m
x86_64
i386
chỉ định ngụ ý rằng nó có khả năng chạy phần mềm 32 bit ... man arch
chắc chắn không gợi ý điều đó. IMHO, Apple vừa thả bóng xuống, và cho phép mọi thứ trở nên hơi lộn xộn - có lẽ nhân danh sự tương thích ngược?
Tôi cảm thấy rằng việc sử dụng các tiện ích "truyền thống" (ví dụ arch
, uname
, sw_vers
) để khám phá phần cứng hoặc phần mềm Mac của bạn có thể không rất đáng tin cậy. Nó chắc chắn không nhất quán! Ngay cả các hướng dẫn hệ thống cũng đầy rẫy những mâu thuẫn.
Điều này không có nghĩa là bạn không thể nhận được thông tin hữu ích từ các tiện ích này, chỉ có thể nói rằng trừ khi bạn biết bạn đang tìm kiếm gì, bạn có thể nhận được kết quả khác với những gì bạn nhận được trên các hệ thống khác.
Ví dụ:
$ arch
i386
Không! (Trừ khi bạn đang sử dụng một máy tính thực sự cũ.)
Một ví dụ khác là phiên bản HĐH. man sw_vers
và man uname
cả hai yêu cầu báo cáo "Phiên bản hệ điều hành":
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.4
BuildVersion: 18E226
$ uname -v
Darwin Kernel Version 18.5.0 .... # output snipped
Tất cả đều tốt và tốt - chúng tôi biết rằng việc đánh số phiên bản phát hành kernel và distro là khác nhau, nhưng hướng dẫn hệ thống cho cả hai lệnh này nói rằng bạn nhận được OS Version
. Hiểu về nguồn gốc của hiện tạimacos
giải thích một số điều này, nhưng nó không giải thích tại sao các hướng dẫn hệ thống không nhất quán.
Và như vậy, cho câu hỏi của OP về làm thế nào để có được thông tin rõ ràng và đáng tin cậy trên một hệ thống, tôi cảm nhận được câu trả lời nên được sử dụng system_profiler
cho cả phần cứng và phần mềm:
$ 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
Ngoài ra, hướng dẫn hệ thống system_profiler
dường như được duy trì ở trạng thái hiện tại hơn.
Và cuối cùng, như Câu hỏi tiêu đề : "[đầu ra của arch
] i386 có nghĩa là gì trên macOS Mojave?" . Trả lời: Thật không may, điều đó có nghĩa là Apple đã không duy trì tài liệu và / hoặc ứng dụng của họ đúng cách.
uname -m
và nó đã cho tôix86_64
. Vì vậy, tôi đoán đó là một kiến trúc CPU 64 bit. Tôi đã cố gắngarch
chỉ để thử một cmd mà tôi đã gặp phải khi học lấy chứng chỉ Linux.