কমান্ড লাইন থেকে ইউএসবি-র মাধ্যমে সংযুক্ত সমস্ত স্টোরেজ ডিভাইস (থাম্ব ড্রাইভ / এক্সটার্নাল হার্ড ড্রাইভ) কীভাবে তালিকাভুক্ত করব?


18

আমি ইউএসবির মাধ্যমে সংযুক্ত কেবলমাত্র ডিভাইসগুলির তালিকা করতে চাই।

সমস্যাটি হ'ল উবুন্টু সমস্ত থাম্ব ড্রাইভগুলি অপসারণযোগ্য (ইন /sys/block/*/removable) হিসাবে দেখবে , তবে এটি বাহ্যিক হার্ড ড্রাইভগুলি একইভাবে দেখতে পায় না।

এটি কোনও ইউএসবি ডিভাইস কীভাবে সনাক্ত করা যায় তার চেয়ে কিছুটা বেশি নির্দিষ্ট

উত্তর:


14

আপনি যদি মাউন্ট করা ডিস্কগুলি সন্ধান করেন তবে একটি সাধারণ

df

কিছু দরকারী তথ্যের সাথে আপনার অন্যান্য ডিস্কের সাথে সেগুলি তালিকাভুক্ত করবে।


2
তবে এটি কেবলমাত্র ইউএসবির মাধ্যমে সংযুক্তগুলি নয়, সমস্ত ব্লক ডিভাইস দেয়।
জেরেমি কের

9

আমি ডিভাইসের udev বৈশিষ্ট্যগুলি বিশেষত ID_BUSসম্পত্তিটি পরীক্ষা করার পরামর্শ দেব :

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

কার্ডের পাঠকগুলিতে অন্তর্ভুক্ত থাকা এমনকি কার্ডগুলি Thisোকানো না থাকলেও এটি আমার বিল্ট ডিভাইসের জন্য ডিভাইসগুলি স্পিট করে।
বি_লোশি

@ বি_লাওশি: হ্যাঁ, সেগুলি এখনও স্টোরেজ ডিভাইস হিসাবে রিপোর্ট করবে, তবে কোনও মিডিয়া উপস্থিত নেই।
জেরেমি কের

2

আমি মনে করি

lsusb

আপনি যা চান তা আপনাকে দেবে, যদি আপনি যা জিজ্ঞাসা করছেন তা অন্তত যদি আমি বুঝতে পারি। (অবশ্যই, এটি কেবলমাত্র স্টোরেজ নয়, সমস্ত ইউএসবি ডিভাইস তালিকাভুক্ত করে))


2

কেবল সংযুক্ত ইউএসবি স্টোরেজ ডিভাইসগুলির তালিকাবদ্ধ করা

সম্পাদনা: যখন আমার কিছুটা সময় থাকবে, আমি কেবলমাত্র ইউএসবি ডিভাইসগুলির তালিকা তৈরি করতে এই পোস্টটি আবার ঘুরে দেখব। আপাতত, এটি মাউন্ট করা সমস্ত ডিভাইসগুলির তালিকা করে /mediaযা কিছু লোকের পক্ষে যথেষ্ট ভাল হতে পারে।

মাউন্ট করা সমস্ত ডিভাইস তালিকাভুক্ত /media

এখানে অন্যান্য সমস্ত উত্তর অ ইউএসবি স্টোরেজ ডিভাইস বা স্টোরেজবিহীন ইউএসবি ডিভাইসগুলি ফিল্টার করে ফেলতে ব্যর্থ হয়েছে বলে মনে হয়। এখানে একটি কমান্ড রয়েছে যা কেবলমাত্র ইউএসবি-র মাধ্যমে সংযুক্ত স্টোরেজ ডিভাইসের তালিকাভুক্ত করা উচিত। একটি ব্যতিক্রম, যা সম্ভবত কারও কাছে গুরুত্ব না দেয় তা হ'ল এটি মাউন্ট করা মিডিয়াযুক্ত সংযুক্ত ইউএসবি অপটিকাল ড্রাইভগুলি প্রদর্শন করবে না।

এটি কাজ করার জন্য প্রয়োজনীয়তা

  • ইউএসবি ডিভাইসগুলি অবশ্যই মাউন্ট করা উচিত। উবুন্টু ডেস্কটপ ওএসগুলি সাধারণত ডিফল্টরূপে স্বয়ংক্রিয়ভাবে মাউন্ট হয়
  • মিডিয়া অবশ্যই /mediaডিরেক্টরিতে মাউন্ট করা উচিত । যদি আপনার ইউএসবি ডিভাইসটি অন্য কোথাও মাউন্ট করার জন্য fstab এ কনফিগার করা থাকে তবে আপনাকে নীচের কমান্ডগুলি টুইঙ্ক করতে হবে

ইউএসবি স্টোরেজ ডিভাইসগুলির তালিকা তৈরি করা
আমার একটি বিশেষ ক্ষেত্রে যে স্ক্রিপ্টটি আমি লিখছি তার জন্য আমি পৃথক পার্টিশন তালিকাভুক্ত করি। এখানে দুটি কমান্ড দেওয়া হয়েছে। একটি সংযুক্ত ডিভাইসের পার্টিশন তালিকাভুক্ত করবে এবং অন্যটি কেবল ডিভাইসগুলির তালিকা করবে।

  • তালিকাভুক্ত পার্টিশন:
    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?
মুরু

এটি একটি সমস্যা উপস্থাপন করবে, তবে এটি সম্ভবত বেশিরভাগ ব্যবহারকারীকে প্রভাবিত করে না। আমি এটিকে কিছু চিন্তাভাবনা করব এবং পরে আপডেট করব।
বি_লাওশি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.