แสดงรายการอุปกรณ์ USB บนบรรทัดคำสั่ง OSX


115

ฉันสามารถแสดงรายการอุปกรณ์ USB บน OSX - คล้ายกับlsusbบน Linux System Informationฉันรู้ว่าฉันสามารถเข้าถึงได้จาก


คำตอบ:


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

[แก้ไข]: หากคุณต้องการชื่ออุปกรณ์คุณสามารถกรองรายการพื้นฐานเพื่อตัดขยะ:

$ 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จะบอกได้ว่าคุณต้องการรู้อะไร
Gordon Davisson

คุณสามารถเสมอท่อส่งออกเช่นกับ ioreg -p IOUSB -w0 -l | sublSublime: คำสั่ง ioreg นี้ยังแสดงอุปกรณ์ที่กล่องเสมือนของฉันใช้อยู่ซึ่งมีประโยชน์จริง ๆ
rjferguson

72

เรียกใช้คำสั่งนี้:

system_profiler SPUSBDataType

บางคนเป็นเพียงแค่? *!
Ruskes

1
ขอบคุณ - ดูเหมือนว่าSystem Information(ซึ่งน่าจะเป็น) แต่แสดงรายละเอียดมากเกินไป แต่ก็มีประโยชน์ที่จะรู้
Milliways

1
นี่เป็นคำตอบที่ดีกว่าถ้าคุณต้องการเข้าถึงฟิลด์เช่น ID ผู้ขายหรือรหัสผลิตภัณฑ์
CodeGnome

2
ข้อมูลนี้แสดงข้อมูลที่แตกต่างกันเช่นการใช้พลังงานเป็นแอมป์
Simon Woodside

5
ข้อได้เปรียบเพิ่มเติมของคำสั่งนี้คือความสามารถในการส่งออกใน XML สำหรับกรณีที่จำเป็นต้องใช้การส่งออกแยกวิเคราะห์:system_profiler -xml SPUSBDataType
Andre M
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.