जांचें कि क्या विशिष्ट बाहरी डिस्क कनेक्ट है


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

बेशक, मैंने UUID का उपयोग किया जो आपने प्रदान किया :)
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 यदि आपके बाहरी डिस्क USB इंटरफ़ेस के माध्यम से जुड़ा हुआ है तो कनेक्टेड यूएसबी डिवाइस को सूचीबद्ध करने के लिए।

lsblk -f आपके बाहरी डिस्क के रूप में ब्लॉक डिवाइस, यूयूआईडी और उनके माउंट-पॉइंट को सूचीबद्ध करने के लिए एक ब्लॉक डिवाइस है।


1
@ N0rbert आपको -fमाउंट पॉइंट्स को सूचीबद्ध करने की आवश्यकता क्यों है ? डिफ़ॉल्ट आउटपुट उन्हें वैसे भी सूचीबद्ध करता है
muru

0

findfsइसके लिए बनाया गया है। आप द्वारा खोज सकते हैं:

  • एफएस लेबल

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

    findfs UUID="f9035fce-b3a1-4aee-80ef-44e432b78fdb" &>/dev/null
    
  • GPT लेबल

    findfs PARTLABEL="EFI system partition" &>/dev/null
    
  • GPT uuid

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

खोजें केस सेंसिटिव होती हैं। यदि कई विभाजन मेल खाते हैं, तो केवल अंतिम प्रदर्शित होता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.