นอกเหนือจาก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...]
[แก้ไข]: หากคุณต้องการชื่ออุปกรณ์คุณสามารถกรองรายการพื้นฐานเพื่อตัดขยะ:
$ 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