OSX कमांड लाइन पर USB उपकरणों की सूची बनाएं


115

क्या मैं OSX पर USB उपकरणों को सूचीबद्ध कर सकता हूं - lsusbलिनक्स पर समान । मुझे पता है कि मैं इससे एक्सेस कर सकता हूं System Information


संभावित सभी
lsblk

जवाबों:


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 लाइन प्रति है
मिलिअव्स

क्या डिवाइस को माउंट करने के लिए इस जानकारी का उपयोग करने का एक सुविधाजनक तरीका है? मेरे पास एक नुक्कड़ है जो ioregजुड़ा हुआ है, लेकिन diskutil listयह नहीं दिखाता है। वहाँ से कोई जानकारी है ioregकि मैं नुक्कड़ माउंट करने के लिए उपयोग कर सकता है?
stiemannkj1

@ stiemannkj1: मैं नुक्कड़ से परिचित नहीं हूं, इसलिए मुझे यकीन नहीं है कि वे मैक पर कैसे दिखेंगे। जैसा कि मैं इसे समझता हूं, इसे बढ़ते हुए एक डिवाइस ड्राइव की आवश्यकता होगी जो इसे कुछ डिस्क-लाइन (मानक यूएसबी चालक को ऐसा करना चाहिए?) के रूप में पहचानता है, और उस पर एक पहचानने योग्य फाइल सिस्टम की तरह कुछ है। मैं यह जानने के लिए ड्राइवर प्रणाली के साथ पर्याप्त रूप से परिचित नहीं हूं, लेकिन मुझे नहीं लगता ioregकि आप यह बता सकते हैं कि आप क्या जानना चाहते हैं।
गॉर्डन डेविसन

आप हमेशा आउटपुट को पाइप कर सकते हैं, जैसे कि उदात्त ioreg -p IOUSB -w0 -l | subl:। यह आईओआरजी कमांड उन उपकरणों को भी दिखाता है जो मेरा वर्चुअल बॉक्स उपयोग कर रहा है, जो वास्तव में मददगार है।
rjferguson

72

यह आदेश चलाएँ:

system_profiler SPUSBDataType

कुछ ppl बस हैं! *
रात्रि

1
धन्यवाद - यह ऐसा दिखता है System Information(जो शायद यह है) लेकिन बहुत अधिक विस्तार दिखाता है, लेकिन यह जानना आसान है
Milliways

1
यह एक बेहतर जवाब है अगर आपको वेंडर आईडी या प्रोडक्ट आईडी जैसे फ़ील्ड्स की आवश्यकता है।
कोडनेम

2
यह विभिन्न सूचनाओं को दिखाता है, जैसे कि amps में बिजली का उपयोग।
साइमन वुडसाइड

5
इस कमांड का एक अतिरिक्त लाभ XML में आउटपुट की क्षमता है, ऐसे मामलों के लिए जहां एक पार्स करने योग्य आउटपुट की आवश्यकता होती है:system_profiler -xml SPUSBDataType
आंद्रे एम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.