Liste des périphériques USB sur la ligne de commande OSX

Réponses:

148

En plus de system_profiler SPUSBDataType(suggéré par @kjs), vous pouvez également utiliser 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,$

Par défaut, il est attaché à la largeur de la fenêtre (80 caractères dans l'exemple ci-dessus). Vous pouvez donc l'ajouter -w0pour obtenir un affichage pleine largeur. De plus, l'ajout -lmontrera des détails (probablement plus que nécessaire) sur chacun des appareils:

$ 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...]

[MODIFIER]: si vous souhaitez uniquement les noms de périphérique, vous pouvez filtrer la liste de base pour supprimer les fichiers indésirables:

$ 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
la source
montre toujours plus que ce que je voulais, mais est une liste pratique 1 ligne par périphérique
Milliways
Existe-t-il un moyen pratique d’utiliser ces informations pour monter un périphérique? J'ai un coin qui ioregmontre comme connecté, mais diskutil listne le montre pas. Y a-t-il des informations ioregque je pourrais utiliser pour monter le coin?
Stiemannkj1
@ stiemannkj1: Je ne connais pas bien les coins, je ne sais donc pas comment ils sont censés apparaître sur un Mac. Si je comprends bien, son montage nécessitera un lecteur de périphérique qui le reconnaîtra comme une ligne de disque (le pilote USB standard devrait-il le faire?), Et doté d’un système de fichiers reconnaissable. Je ne connais pas suffisamment le système de pilotes pour savoir comment vérifier cela, mais je ne pense pas ioregpouvoir vous dire ce que vous voulez savoir.
Gordon Davisson
Vous pouvez toujours redirigez la sortie, comme Sublime: ioreg -p IOUSB -w0 -l | subl. Cette commande ioreg affiche également les périphériques utilisés par ma boîte virtuelle, ce qui est très utile.
rjferguson le
72

Exécutez cette commande:

system_profiler SPUSBDataType
Kevin Stewart
la source
certains sont juste? *!
Ruskes
1
Merci - cela ressemble au System Information(ce qui est probablement le cas) mais montre beaucoup trop de détails, mais il est pratique de le savoir
Milliways
1
C'est une meilleure réponse si vous avez besoin d'accéder à des champs tels que l'ID de fournisseur ou l'ID de produit.
CodeGnome
2
Cela montre différentes informations, telles que la consommation d'énergie en ampères.
Simon Woodside
5
Un autre avantage de cette commande est la possibilité de générer en XML, dans les cas où une sortie analysable est nécessaire:system_profiler -xml SPUSBDataType
Andre M