जवाबों:
परीक्षण करने के लिए एक विशिष्ट उपकरण आप उपयोग कर सकते हैं जुड़ा हुआ है कि क्या 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
दोनों का उपयोग किया जा सकता है, चाहे कोई भी उपकरण क्यों न हो।
/dev/disk/
निम्नलिखित निर्देशिकाएं हैं, जिनमें वास्तविक उपकरणों के प्रतीकात्मक लिंक शामिल हैं। इस लिंक को गतिशील रूप से बनाया और हटाया जाता है udev
, इसलिए वे हमेशा अद्यतित होते हैं:
इसलिए सिमलिंक के अस्तित्व की जाँच करने से कम संसाधनों का उपयोग होगा।
यहाँ एक उदाहरण है जो सीरियल नंबर का उपयोग करके डिस्क की उपस्थिति का परीक्षण कर रहा है:
test -e /dev/disk/by-id/wwn-0x5002538d408be9e0 && echo yes || echo no
मेरी बैकअप स्क्रिप्ट में मैं डिस्क की उपस्थिति की जांच नहीं करता, मैं केवल mount
इस तरह कमांड के परिणाम की जांच करता हूं :
mount -o noatime $DESTINATION_PARTITION $DESTINATION_DIR || exit 1
lsusb
यदि आपके बाहरी डिस्क USB इंटरफ़ेस के माध्यम से जुड़ा हुआ है तो कनेक्टेड यूएसबी डिवाइस को सूचीबद्ध करने के लिए।
lsblk -f
आपके बाहरी डिस्क के रूप में ब्लॉक डिवाइस, यूयूआईडी और उनके माउंट-पॉइंट को सूचीबद्ध करने के लिए एक ब्लॉक डिवाइस है।
-f
माउंट पॉइंट्स को सूचीबद्ध करने की आवश्यकता क्यों है ? डिफ़ॉल्ट आउटपुट उन्हें वैसे भी सूचीबद्ध करता है
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
findfs PARTUUID="85e66d2f-3709-4060-938e-ffe836433cc9" &>/dev/null
खोजें केस सेंसिटिव होती हैं। यदि कई विभाजन मेल खाते हैं, तो केवल अंतिम प्रदर्शित होता है।
lsblk -f | grep f9035fce-b3a1-4aee-80ef-44e432b78fdb | grep / -q && echo yes || echo no
।