Apakah ada yang tahu perintah terminal yang memberi saya model Mac saya?
Misalnya - "MacBook Pro, Retina, 13 inci, Pertengahan 2013" atau "MacBook Pro, Akhir 2009" atau "Mac Mini, Awal 2010".
Informasi itu tidak ada di SystemProfiler ( /usr/sbin/system_profiler SPHardwareDataType
), tetapi di OS X 10.7 dan OS X 10.8 Anda dapat melihat informasi itu ketika Anda mengklik "More Info ..." di jendela "About This Mac".
But in OS X 10.7 and 10.8...
kalimat itu? Ketika saya melihat di jendela About This Mac saya tidak melihat apa pun yang menyatakan Akhir 2009 atau sesuatu yang serupa.About This Mac
dan kemudianMore Info...
. Saya tidak tahu bagaimana cara mendapatkan informasi itu di terminal Anda.Jawaban:
Anda dapat secara tidak langsung mendapatkan informasi ini dari halaman web dan perintah curl. Di masa lalu URL ini telah diturunkan dan nilai dibatasi dan diletakkan di belakang semacam captcha untuk mencegah penggunaan ini, jadi Anda mungkin perlu beralih ke jalan lain seperti https://checkcoverage.apple.com/ dalam hal ini.
Bergantung pada apakah nomor seri Anda panjangnya 11 atau 12 karakter, masing-masing mengambil 3 atau 4 karakter terakhir, dan memasukkannya ke URL berikut setelah bagian ? Cc = XXXX . Jika nomor seri Anda 12 karakter dan diakhiri dengan DJWR, Anda akan mengeluarkan perintah ini:
Untuk mendapatkan nomor seri Anda, gunakan perintah berikut:
Dengan demikian, Anda bisa memiliki perintah yang rumit untuk melakukan kueri di internet jika Anda memerlukan satu perintah:
dan kemudian jalankan output melalui sed untuk memotong ke bagian kunci
Dulu ada file perpustakaan pribadi dengan pemetaan ini sehingga Anda dapat berkonsultasi secara offline, tapi saya perhatikan itu sudah hilang pada 10.8.3 (dan mungkin sebelumnya) jadi trik di atas adalah satu-satunya yang saya tahu yang bekerja pada OS saat ini tanpa perpustakaan pihak ketiga.
Beberapa libarary pihak ketiga yang bagus menyajikan hal ini:
Perhatikan bahwa pada November 2017, Apple telah memaksa penggunaan
https
lebihhttp
untuk layanan ini.sumber
sysctl -n hw.model
disebutkan di bawah,ioreg -c IOPlatformExpertDevice -d 2 | awk -F\" '/IOPlatformSerialNumber/{print $(NF-1)}'
akan bekerja lebih cepat untuk mendapatkan nomor seri.Anda bisa menggunakan perintah
di Terminal untuk mendapatkan ID model mesin Anda.
Kemudian Anda dapat memasukkan ID itu di situs ini yang akan mencantumkan bulan dan tahun model tertentu diluncurkan.
Seperti disebutkan dalam komentar di bawah, perintah berikut ini jauh lebih cepat:
sumber
system_profiler SPHardwareDataType | grep "Model Identifier"
berjalan jauh lebih cepat daripada profiler lengkap, tetapi masih tidak mengembalikan nama pemasaran seperti yang diminta OP. Lihat jawaban saya untuk perintah yang bekerja di sekitar bagian "lihat" jawaban Anda dengan cara yang ramah terminal.sysctl hw.model
lebih cepat dari perintah di atas.Di El Capitan dan Sierra, ada file plist dalam kerangka kerja pribadi dengan info untuk setiap pengenal model; Dict itu termasuk nama pemasaran (yang memiliki model tahun di dalamnya). Saya tidak tahu versi OS dari file mana yang masuk, tetapi BUKAN pada Snow Leopard (satu-satunya yang saya miliki yang lebih tua dari El Capitan).
Jadi, Anda bisa menggunakan itu (atau trik serupa lainnya untuk versi OS lain setelah memeriksa versi OS, jika Anda tahu trik-trik itu, yang tidak saya lakukan), dan jika itu tidak berlaku, Anda selalu bisa kembali ke pendekatan yang membutuhkan akses Internet.
Ini tidak persis sama dengan apa yang ditampilkan About This Mac, yang dalam kasus saya adalah
MacBook Pro (Retina, 13-inch, Awal 2015)
sementara ini menunjukkan
13 "MacBook Pro dengan tampilan Retina (Awal 2015)
tetapi dalam istilah yang dapat dibaca manusia , Saya pikir itu cukup dekat.
sumber
MacBookPro12,1
) yang berarti selalu mengklaim Anda berada di awal 2015 13 "mbp./usr/libexec/PlistBuddy -c "print :$(sysctl hw.model | cut -f 2 -d ' '):_LOCALIZABLE_:marketingModel" /System/Library/PrivateFrameworks/ServerInformation.framework/Versions/A/Resources/English.lproj/SIMachineAttributes.plist
Terlambat dalam permainan, tapi inilah satu pendekatan:
.
Fungsi ini membaca file plist, mencari di
CPU Names
dalam file itu:, lalu gunakan pembatas
"
menguraikan bidang keempat:Diuji untuk bekerja pada versi OS X yang saat ini didukung.
sumber
defaults read ~/Library/Preferences/com.apple.SystemProfiler.plist 'CPU Names' | cut -sd '"' -f 4 | uniq
Ini adalah liner satu menggunakan PlistBuddy, tanpa grep, sed atau awk-wardness.
ini mengembalikan sesuatu seperti:
15" MacBook Pro with Thunderbolt 3 and Touch ID (Mid 2017)
-
Satu lagi liner yang menghasilkan string yang sedikit berbeda, juga menggunakan PlistBuddy (dengan sedikit awk):
MacBook Pro (15-inch, 2017)
Terima kasih atas beberapa jawaban di atas untuk ini.
sumber
Menggabungkan jawaban Saaru dengan versi Richard Hamilton yang di -debug saya mendapatkan yang berikut, yang bekerja 10,6 melalui 10,12 (meskipun ukuran sampel pada 10,6 hanya satu mesin) dan mungkin sebelumnya / nanti, dan tidak tergantung pada koneksi ke internet dan server Apple tidak berubah
Beberapa catatan tentang apa yang saya temukan untuk sampai di sini:
defaults
dapat bekerja di 10.6, dan karenanya menambahkannya kembali secara manual ke-f
tes shell-n
bendera untuksysctl
sarana itu mencetak hanya nilai, menyelamatkan kita beberapased
atauawk
pekerjaansumber
Kami memiliki sekitar 2019 MBP yang mengembalikan model tahun yang berbeda untuk dua one-liners yang diposting oleh tabrindle .
One-liner pertamanya (menggunakan
sysctl -n hw.model
) mengembalikan 2018 untuk model 2019:Salah: 15 "MacBook Pro dengan Thunderbolt 3 dan Touch ID (Pertengahan 2018)
Tapi one-liner keduanya (menggunakan
system_profiler SPHardwareDataType
) mengembalikan nama yang benar:Kanan: MacBook Pro (15-inci, 2019)
sumber
Ini harus dilakukan:
sumber