यूनिक्स fdisk: इसके सिस्टम को जानने के लिए एक डिवाइस स्ट्रिंग प्राप्त करें


0

मैं आरटीईएल को एनटीएफएस डिस्क संलग्न कर रहा हूं।

इसे माउंट करने के लिए, मुझे विभाजन नाम जानना होगा, जिसे मैं बाद में mountकमांड में उपयोग करूंगा ।

मुझे एक Deviceनाम के साथ एक स्ट्रिंग प्राप्त करने की आवश्यकता है , यह जानना कि Systemइसका क्या संबंध है।

fdisk -l

यह आदेश लौटाता है:

Disk /dev/sdb: 15.0 GB, 15032385536 bytes, 29360128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0xdf77eb64

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1             128    29358079    14678976   83  Linux

Disk /dev/sda: 31.5 GB, 31457280000 bytes, 61440000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x000c46d3

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    61439999    30206976   83  Linux

Disk /dev/sdc: 1862 MB, 1862270976 bytes, 3637248 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0xf9fa7844

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1             128     3635199     1817536    7  HPFS/NTFS/exFAT

मैं एक स्ट्रिंग प्राप्त करना पसंद करूंगा /dev/sdc1, क्योंकि इसकी प्रणाली हैHPFS/NTFS/exFAT

मुझे Deviceयह जानने के लिए एक स्ट्रिंग कैसे मिल सकती है कि इसे प्रारूपित किया जाना चाहिए HPFS/NTFS/exFAT?


1
"डिवाइस बूट स्ट्रिंग" से आपका क्या मतलब है यह थोड़ा अस्पष्ट है - क्या यह आपके बाद का है? आप शायद चलाकर अतिरिक्त जानकारी हासिल कर सकता है lsblkऔर blkid। जो आप केवल डिवाइस आईडी होने का उल्लेख कर रहे हैं /dev/sdaवह पहली डिस्क का पता लगाया गया है और sda1बिट यह पहली बार विभाजन को संदर्भित करता है। sdbदूसरा और ऐसा ही है।
r0berts

लेकिन अगर आप केवल स्ट्रिंग / देव / sdc1 प्राप्त करने के बाद हैं क्योंकि यह एनटीएफएस युक्त लाइन पर है तो आप बस ऐसा कर सकते हैं:fdisk -l | grep NTFS | cut -f 1 -d " "
r0berts

@ r0berts मैं "/ dev / sdc1" स्ट्रिंग प्राप्त करना पसंद करूंगा। मुझे यकीन नहीं है कि अगली बार ऐसा करने पर मुझे कौन सा नाम मिलेगा, यह "/ देव / sdc2" या कुछ और हो सकता है। मेरे लिए मुख्य यह एक नाम प्राप्त करना है, जो "NTFS" प्रणाली से मेल खाता है
प्रयोगकर्ता

1
/dev/disk/by-label// Dev / डिस्क / by-partlabel / `आदि पर एक नज़र डालें , और इनका उपयोग करें /etc/fstab। वे जूते आदि के बीच नहीं बदलते हैं, और आपको हमेशा /dev/sd*नामों में से एक का उपयोग करना चाहिए (जो बदल सकते हैं)।
दिनांक

जवाबों:


1

ठीक है, आप कमांड के आउटपुट से स्ट्रिंग को निकालना चाहते हैं। इस तरह से छोटे, सरल आदेशों की UNIX प्रिय श्रृंखला का उपयोग करें:

fdisk -l | grep NTFS | cut -f 1 -d " "

fdiskसामान्य जानकारी आउटपुट - जैसा कि आप जानते हैं। |पाइप सिंबल है जिसका मतलब है कि स्क्रीन को नहीं बल्कि अगले कमांड को आउटपुट देना है। grepफिर एनटीएफएस युक्त लाइन (एस) को cutनिकालता है और लाइन के पहले क्षेत्र को निकालता है, इस मामले में कॉलम सीमांकक को व्हॉट्सएप किया जा रहा है।

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