ioreg
Команда може бути використана для виконання цього завдання.
ioreg -d2 -c IOPlatformExpertDevice | awk -F\" '/IOPlatformUUID/{print $(NF-1)}'
Аналогічно, ви можете отримати ту саму інформацію у форматі списку властивостей (plist / xml), включивши -a
опцію, яка корисна для реалізацій, які краще працюють з XML. Одним із прикладів командного рядка було б користуватисяxmllint --xpath
ioreg -ad2 -c IOPlatformExpertDevice |
xmllint --xpath '//key[.="IOPlatformUUID"]/following-sibling::*[1]/text()' -
Я часто бачу system_profiler
команду, яка використовується для цього завдання, однак я виявив, що ioreg
метод трохи швидший, якщо продуктивність викликає занепокоєння.
time system_profiler SPHardwareDataType | awk '/UUID/ { print $NF }'
real 0m0.295s
user 0m0.110s
sys 0m0.074s
time ioreg -d2 -c IOPlatformExpertDevice | awk -F\" '/IOPlatformUUID/{print $(NF-1)}'
real 0m0.029s
user 0m0.005s
sys 0m0.004s