मैं सभी भंडारण उपकरणों (अंगूठे ड्राइव / बाहरी हार्ड ड्राइव) को कैसे सूचीबद्ध कर सकता हूं जो कमांड लाइन से यूएसबी के माध्यम से जुड़े हुए हैं?


18

मैं usb के माध्यम से जुड़े केवल उपकरणों को सूचीबद्ध करना चाहूंगा।

समस्या यह है कि उबंटू सभी अंगूठे ड्राइव को हटाने योग्य (में /sys/block/*/removable) के रूप में देखता है, लेकिन यह बाहरी हार्ड ड्राइव को उसी तरह नहीं देखता है।

यह USB डिवाइस का पता लगाने की तुलना में थोड़ा अधिक विशिष्ट है ?

जवाबों:


14

यदि आप घुड़सवार डिस्क की तलाश कर रहे हैं, तो एक सरल

df

कुछ उपयोगी जानकारी के साथ अपने सभी अन्य डिस्क के साथ उन्हें सूचीबद्ध करेगा।


2
लेकिन यह सभी ब्लॉक डिवाइस देता है, न कि केवल यूएसबी के जरिए।
जेरेमी केर

9

मैं विशेष रूप से ID_BUSसंपत्ति के उपकरणों के udev गुणों की जाँच करने की सलाह दूंगा :

for device in /sys/block/*
do
    if udevadm info --query=property --path=$device | grep -q ^ID_BUS=usb
    then
        echo $device
    fi
done

यह मेरे कार्ड रीडर में निर्मित उपकरणों के साथ-साथ उस समय भी है जब कार्ड नहीं डाले जाते हैं।
b_laoshi

@b_laoshi: हाँ, वे अभी भी भंडारण उपकरणों के रूप में रिपोर्ट करेंगे, लेकिन कोई मीडिया मौजूद नहीं है।
जेरेमी केर

2

मुझे लगता है

lsusb

आपको वह देगा जो आप चाहते हैं, कम से कम अगर मैं समझता हूं कि आप क्या पूछ रहे हैं। (बेशक, यह सभी USB उपकरणों को सूचीबद्ध करता है, न कि केवल भंडारण के लिए।)


2

केवल संलग्न USB संग्रहण उपकरणों को सूचीबद्ध करना

संपादित करें: जब मेरे पास कुछ समय होता है, तो मैं इस पोस्ट को केवल USB उपकरणों की सूची बनाने के लिए फिर से भेजूंगा। अभी के लिए, यह उन सभी उपकरणों को सूचीबद्ध करता है, /mediaजो कुछ लोगों के लिए पर्याप्त हो सकते हैं।

लिस्टिंग सभी उपकरणों में मुहिम शुरू की /media

यहाँ अन्य सभी उत्तर गैर-USB संग्रहण उपकरण या गैर-संग्रहण USB उपकरण फ़िल्टर करने में विफल दिखाई देते हैं। यहां एक कमांड है जो यूएसबी के माध्यम से संलग्न केवल भंडारण उपकरणों को सूचीबद्ध करना चाहिए। एक अपवाद, जो किसी के लिए भी मायने नहीं रखता है, वह यह है कि माउंटेड मीडिया के साथ कनेक्टेड यूएसबी ऑप्टिकल ड्राइव को प्रदर्शित नहीं किया जाएगा।

इसके लिए आवश्यकताएं काम करने की हैं

  • USB डिवाइस को माउंट किया जाना चाहिए। उबंटू डेस्कटॉप ओएस आमतौर पर डिफ़ॉल्ट रूप से ऑटो-माउंट होता है
  • मीडिया को /mediaनिर्देशिका में माउंट किया जाना चाहिए । यदि आपका USB डिवाइस कहीं और माउंट करने के लिए fstab में कॉन्फ़िगर किया गया है, तो आपको निम्नलिखित कमांड को ट्विक करना होगा

USB संग्रहण उपकरणों को सूचीबद्ध करना
मेरे द्वारा लिखी जा रही स्क्रिप्ट के लिए मेरे विशेष मामले में, मैं अलग-अलग विभाजन सूचीबद्ध करता हूं। यहां दो कमांड हैं। एक संलग्न उपकरणों के विभाजन को सूचीबद्ध करेगा, और दूसरा बस उपकरणों को सूचीबद्ध करेगा।

  • लिस्टिंग विभाजन:
    lsblk | grep /media | grep -oP "sd[a-z][0-9]?" | awk '{print "/dev/"$1}'
    नमूना आउटपुट:

    /dev/sdd1
    /dev/sdi1
    /dev/sdj1
    /dev/sdj2
    
  • लिस्टिंग डिवाइस:
    lsblk | grep /media | grep -oP "sd[a-z]" | awk '{print "/dev/"$1}' | sort | uniq
    नमूना आउटपुट:

    /dev/sdd
    /dev/sdi
    /dev/sdj
    

आंतरिक डिस्क के विभाजन के बारे में क्या कहा जाता है कि इसमें आरोहित किया जाता है /media?
मुरु

यह एक समस्या पेश करेगा, लेकिन अधिकांश उपयोगकर्ताओं को प्रभावित करने की संभावना नहीं है। मैं इसे कुछ विचार करूंगा और बाद में अपडेट करूंगा।
b_laoshi
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.