Liste der USB-Geräte in der OSX-Befehlszeile

Antworten:

148

Zusätzlich zu system_profiler SPUSBDataType(vorgeschlagen von @kjs) können Sie auch Folgendes verwenden 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,$

Standardmäßig wird das Fenster auf die Breite (im obigen Beispiel 80 Zeichen) gekürzt. Sie können also ein Fenster hinzufügen -w0, um eine Anzeige in voller Breite zu erhalten. Außerdem werden beim Hinzufügen -lDetails (wahrscheinlich mehr als erforderlich) zu den einzelnen Geräten angezeigt:

$ 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]: Wenn Sie nur die Gerätenamen möchten, können Sie die Grundliste filtern, um den Müll zu beseitigen:

$ 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
quelle
zeigt immer noch mehr als ich wollte, ist aber eine bequeme 1 Zeile pro Geräteliste
Milliways
Gibt es eine bequeme Möglichkeit, diese Informationen zum Bereitstellen eines Geräts zu verwenden? Ich habe eine Ecke, ioregdie als verbunden angezeigt wird , aber diskutil listnicht angezeigt wird. Gibt es irgendwelche Informationen ioreg, die ich verwenden könnte, um den Winkel zu montieren?
stiemannkj1
@ stiemannkj1: Ich kenne mich mit Ecken nicht aus, daher bin ich mir nicht sicher, wie sie auf einem Mac angezeigt werden sollen. Wie ich es verstehe, erfordert das Mounten ein Gerätelaufwerk, das es als eine Art Festplattenlaufwerk erkennt (sollte der Standard-USB-Treiber dies tun?) Und auf dem sich so etwas wie ein erkennbares Dateisystem befindet. Ich kenne das Treibersystem nicht gut genug, um es zu überprüfen, aber ich glaube nicht, dass ioregich Ihnen sagen kann, was Sie wissen möchten.
Gordon Davisson
Sie können immer Rohr den Ausgang, wie zum Sublime: ioreg -p IOUSB -w0 -l | subl. Dieser ioreg-Befehl zeigt auch die Geräte an, die meine virtuelle Box verwendet, was sehr hilfreich ist.
rjferguson
72

Führen Sie diesen Befehl aus:

system_profiler SPUSBDataType
Kevin Stewart
quelle
Einige Leute sind nur? *!
Ruskes
1
Danke - das sieht aus wie das System Information(was es wahrscheinlich ist), zeigt aber viel zu viele Details, ist aber praktisch zu wissen
Milliways
1
Dies ist eine bessere Antwort, wenn Sie Zugriff auf Felder wie Vendor ID oder Product ID benötigen.
CodeGnome
2
Hier werden verschiedene Informationen angezeigt, z. B. der Stromverbrauch in Ampere.
Simon Woodside
5
Ein zusätzlicher Vorteil dieses Befehls ist die Möglichkeit, in XML auszugeben, wenn eine syntaktisch analysierbare Ausgabe erforderlich ist:system_profiler -xml SPUSBDataType
Andre M