নির্দিষ্ট বাহ্যিক ডিস্ক সংযুক্ত কিনা তা পরীক্ষা করুন


9

নির্দিষ্ট বাহ্যিক ডিস্ক সংযুক্ত থাকলে আমি কীভাবে শেল কমান্ডের মাধ্যমে চেক করব? (লেবেল বা ডিভাইস আইডি দ্বারা)

উত্তর:


9

পরীক্ষা করার জন্য একটি নির্দিষ্ট ডিভাইস আপনি ব্যবহার করতে পারেন সংযুক্ত করা হয় কিনা grepসঙ্গে -qআউটপুট অনুসন্ধান করতে বিকল্প lsusbবা lsblkযেমন

uuid=f9035fce-b3a1-4aee-80ef-44e432b78fdb
lsblk -f | grep -wq $uuid && echo yes || echo no

devicename="some Inc. Keyboard"
lsusb | grep -q "$devicename" && echo yes || echo no

বা সাথে if:

uuid=f9035fce-b3a1-4aee-80ef-44e432b78fdb
if lsblk -f | grep -wq $uuid; then
  echo yes
else
  echo no
fi

উভয়ই ডিভাইস মাউন্ট করা আছে কিনা তা ব্যবহার করা যায়।


মাউন্ট করা পার্টিশনের জন্য - lsblk -f | grep f9035fce-b3a1-4aee-80ef-44e432b78fdb | grep / -q && echo yes || echo no
N0rbert

অবশ্যই, আপনি যে
ইউইউডিটি

9

/dev/disk/নিম্নলিখিত ডিরেক্টরি রয়েছে, যা বাস্তব ডিভাইসের সাথে প্রতীকী লিঙ্ক ধারণ করে। এই লিঙ্কগুলি গতিশীলভাবে তৈরি এবং এর দ্বারা সরানো হয়েছে udev, সুতরাং সেগুলি সর্বদা আপ টু ডেট থাকে:

  • দ্বারা-আইডি
  • বাই-partlabel
  • বাই-partuuid
  • বাই-পাথ
  • বাই-UUID

সুতরাং সিমলিংকের অস্তিত্বের জন্য অনুসন্ধান করা কম সংস্থান ব্যবহার করবে।

এখানে এর ক্রমিক নম্বর ব্যবহার করে ডিস্কের উপস্থিতি পরীক্ষা করার একটি উদাহরণ এখানে দেওয়া হয়েছে:

test -e /dev/disk/by-id/wwn-0x5002538d408be9e0 && echo yes || echo no

আমার ব্যাকআপ স্ক্রিপ্টে আমি এমনকি ডিস্কের উপস্থিতি যাচাই করি না, আমি কেবল mountকমান্ডের ফলাফলটি কেবল এটির মতো পরীক্ষা করি :

mount -o noatime $DESTINATION_PARTITION $DESTINATION_DIR || exit 1

2

lsusb সংযুক্ত ইউএসবি ডিভাইস তালিকাভুক্ত করার জন্য যদি আপনার বাহ্যিক ডিস্কটি ইউএসবি ইন্টারফেসের মাধ্যমে সংযুক্ত থাকে।

lsblk -f আপনার বাহ্যিক ডিস্কটি একটি ব্লক ডিভাইস হিসাবে ব্লক ডিভাইস, ইউআইডি এবং তাদের মাউন্ট-পয়েন্টগুলি তালিকাভুক্ত করতে।


1
@ N0rbert আপনি কেন -fমাউন্ট পয়েন্ট তালিকাবদ্ধ করতে হবে ? ডিফল্ট আউটপুট তালিকায় তাদের যাহাই হউক না কেন
muru

0

findfsএই জন্য তৈরি করা হয়। আপনি এর মাধ্যমে অনুসন্ধান করতে পারেন:

  • এফএস লেবেল

    findfs LABEL="Ubuntu" &>/dev/null
    
  • FS uuid

    findfs UUID="f9035fce-b3a1-4aee-80ef-44e432b78fdb" &>/dev/null
    
  • জিপিটি লেবেল

    findfs PARTLABEL="EFI system partition" &>/dev/null
    
  • জিপিটি ইউইড

    findfs PARTUUID="85e66d2f-3709-4060-938e-ffe836433cc9" &>/dev/null
    

অনুসন্ধানগুলি কেস সংবেদনশীল। যদি একাধিক পার্টিশন মেলে তবে শুধুমাত্র শেষটি প্রদর্শিত হবে।

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