Список USB-пристроїв у командному рядку OSX


Відповіді:


148

Окрім system_profiler SPUSBDataType(запропонованого @kjs), ви також можете використовувати ioreg -p IOUSB:

$ ioreg -p IOUSB 
+-o Root  <class IORegistryEntry, id 0x100000100, retain 10>
  +-o EHCI Root Hub Simulation@1A,7  <class IOUSBRootHubDevice, id 0x100000227,$
  | +-o HubDevice@fa100000  <class IOUSBHubDevice, id 0x10000027a, registered, $
  | | +-o Apple Internal Keyboard / Trackpad@fa120000  <class IOUSBDevice, id 0$
  | | +-o BRCM2070 Hub@fa110000  <class IOUSBHubDevice, id 0x1000002b4, registe$
  | |   +-o Bluetooth USB Host Controller@fa113000  <class IOUSBDevice, id 0x10$
  | +-o FaceTime HD Camera (Built-in)@fa200000  <class IOUSBDevice, id 0x100000$
  +-o EHCI Root Hub Simulation@1D,7  <class IOUSBRootHubDevice, id 0x100000228,$
    +-o HubDevice@fd100000  <class IOUSBHubDevice, id 0x10000027b, registered, $
      +-o IR Receiver@fd110000  <class IOUSBDevice, id 0x100000288, registered,$

За замовчуванням воно затискається на ширину вікна (80 символів у наведеному вище прикладі), тому ви можете додати, -w0щоб отримати повний ширину дисплея. Крім того, додавання -lпокаже деталі (можливо більше, ніж потрібно) про кожен із пристроїв:

$ ioreg -p IOUSB -w0 -l
    +-o Root  <class IORegistryEntry, id 0x100000100, retain 10>
  | {
  |   "IOKitBuildVersion" = "Darwin Kernel Version 14.0.0: Fri Sep 19 00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64"
  |   "OS Build Version" = "14B25"
  |   "OSKernelCPUSubtype" = 3
  |   "OSKernelCPUType" = 16777223
  |   "OSPrelinkKextCount" = 185
  |   "IOConsoleLocked" = No
  |   "IORegistryPlanes" = {"IOACPIPlane"="IOACPIPlane","IOPower"="IOPower","IODeviceTree"="IODeviceTree","IOService"="IOService","IOUSB"="IOUSB","IOFireWire"="IOFireWire"}
[...etc...]

[EDIT]: Якщо ви просто хочете назвати пристрої, ви можете відфільтрувати основний список, щоб обрізати непотріб:

$ ioreg -p IOUSB -w0 | sed 's/[^o]*o //; s/@.*$//' | grep -v '^Root.*'
EHCI Root Hub Simulation
HubDevice
Apple Internal Keyboard / Trackpad
BRCM2070 Hub
Bluetooth USB Host Controller
FaceTime HD Camera (Built-in)
EHCI Root Hub Simulation
HubDevice
IR Receiver

все ще показує більше, ніж я хотів, але це зручний 1 рядок за списком пристроїв
Milliways

Чи є зручний спосіб використовувати цю інформацію для монтажу пристрою? У мене є куточок, який ioregвідображається як підключений, але diskutil listне показує. Чи є інформація, ioregяку я міг би використовувати для монтажу куточка?
stiemannkj1

@ stiemannkj1: Я не знайомий з куточками, тому не знаю, як вони повинні з’являтися на Mac. Як я розумію, для його монтажу потрібен буде привід пристрою, який розпізнає його як щось із дискових рядків (чи повинен це робити стандартний USB-драйвер?) Та мати щось на зразок розпізнаваної файлової системи. Я недостатньо знайомий із системою драйверів, щоб знати, як це перевірити, але я не думаю, що ioregможе сказати тобі, що ти хочеш знати.
Гордон Девіссон

Ви завжди можете передавати вихід, наприклад, до Sublime : ioreg -p IOUSB -w0 -l | subl. Ця команда ioreg також показує пристрої, якими користується моя віртуальна скринька, що дуже корисно.
rjferguson

72

Виконайте цю команду:

system_profiler SPUSBDataType

деякі ppl просто? *!
Ruskes

1
Дякую - це схоже на System Information(що це, мабуть, є), але показує занадто багато деталей, але це зручно знати
Milliways

1
Це краща відповідь, якщо вам потрібен доступ до таких полів, як Ідентифікатор постачальника або Ідентифікатор продукту.
CodeGnome

2
Це показує різну інформацію, наприклад, споживання енергії в амперах.
Саймон Вудсайд

5
Додатковою перевагою цієї команди є можливість виводу в XML для тих випадків, коли потрібен розбірний вихід:system_profiler -xml SPUSBDataType
Andre M
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.