Daftar perangkat USB pada baris perintah OSX

Jawaban:

148

Selain system_profiler SPUSBDataType(disarankan oleh @kjs), Anda juga dapat menggunakan 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,$

Secara default klip ke lebar jendela (80 karakter pada contoh di atas), jadi Anda mungkin ingin menambahkan -w0untuk mendapatkan tampilan lebar penuh. Juga, menambahkan -lakan menampilkan detail (mungkin lebih dari yang Anda butuhkan) tentang masing-masing perangkat:

$ 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]: Jika Anda hanya menginginkan nama perangkat, Anda dapat memfilter daftar dasar untuk memangkas sampah:

$ 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
Gordon Davisson
sumber
masih menunjukkan lebih dari yang saya inginkan, tetapi 1 baris per daftar perangkat yang nyaman
Milliways
Apakah ada cara mudah untuk menggunakan informasi ini untuk memasang perangkat? Saya memiliki sudut yang ioregmenunjukkan terhubung, tetapi diskutil listtidak menunjukkannya. Apakah ada info dari ioregyang bisa saya gunakan untuk me-mount nook?
stiemannkj1
@ stiemannkj1: Saya tidak terbiasa dengan sudut, jadi saya tidak yakin bagaimana mereka muncul di Mac. Seperti yang saya pahami, pemasangan itu akan memerlukan drive perangkat yang mengenalinya sebagai sesuatu yang berhubungan dengan disk (haruskah driver USB standar melakukan ini?), Dan memiliki sesuatu seperti sistem file yang dapat dikenali di dalamnya. Saya tidak cukup akrab dengan sistem driver untuk mengetahui cara memeriksa ini, tapi saya pikir tidak ioregbisa memberi tahu Anda apa yang ingin Anda ketahui.
Gordon Davisson
Anda selalu dapat pipa output, seperti untuk Sublime: ioreg -p IOUSB -w0 -l | subl. Perintah ioreg ini juga menunjukkan perangkat yang menggunakan kotak virtual saya, yang sangat membantu.
rjferguson
72

Jalankan perintah ini:

system_profiler SPUSBDataType
Kevin Stewart
sumber
beberapa ppl saja? *!
Ruskes
1
Terima kasih - ini terlihat seperti System Information(yang mungkin memang demikian) tetapi menunjukkan terlalu banyak detail, tetapi berguna untuk diketahui
Milliways
1
Ini adalah jawaban yang lebih baik jika Anda memerlukan akses ke bidang seperti ID Vendor atau ID Produk.
CodeGnome
2
Ini menunjukkan informasi yang berbeda, seperti penggunaan daya dalam amp.
Simon Woodside
5
Keuntungan tambahan dari perintah ini adalah kemampuan untuk menghasilkan dalam XML, untuk kasus-kasus di mana keluaran yang dapat diuraikan diperlukan:system_profiler -xml SPUSBDataType
Andre M