मैं कैसे बता सकता हूं कि ऑपरेटिंग सिस्टम किस वॉल्यूम पर है?


5

मैं यह स्वीकार करूंगा कि मैं यहां एक से कई सवाल कर रहा हूं, इसलिए कृपया मुझे माफ कर दें और इसके लिए मुझे न टोकने की कोशिश करें।

मैं मैक के लिए नया हूं, लेकिन मैं अपने एक जावा एप्लिकेशन को ओएस एक्स में पोर्ट करने की कोशिश कर रहा हूं। विंडोज पर, यह किसी चीज के लिए हार्ड ड्राइव सीरियल नंबर का उपयोग करता है और मैं मैक का उपयोग टर्मिनल में करने के लिए कर रहा हूं!

करीबी चीज जो मैं पा सकता हूं वह है वॉल्यूम यूयूआईडी का उपयोग करना diskutil info ..., जो ठीक है (जब तक यह हमेशा एक जैसा रहेगा?): तो मेरा मुख्य सवाल यह है कि मुझे किस मात्रा का उपयोग करना चाहिए, यह देखते हुए कि तीन तब दिखाई देते हैं जब मैं टाइप करता हूं diskutil list? स्पष्ट रूप से इसे UUID करने की आवश्यकता है, लेकिन मैं उस वॉल्यूम का उपयोग करना चाहूंगा जो कम से कम बदलने की संभावना है, जो कि मुझ पर ऑपरेटिंग सिस्टम के साथ एक प्रतीत होगा!

इसलिए मैं यह जानना चाहूंगा कि इस उद्देश्य के लिए उपयोग करने के लिए कौन सी मात्रा मेरे लिए सबसे सुरक्षित है, और यदि यह अलग-अलग कंप्यूटरों पर भिन्न है - तो इसे कैसे खोजें!

अग्रिम में धन्यवाद

जवाबों:


9

Terminal.app खोलें और चलाएँ df -h /:

% df -h /
Filesystem     Size   Used  Avail Capacity  Mounted on
/dev/disk1s2  111Gi   75Gi   36Gi    68%    /

मेरी मशीन पर मेरा OS ड्राइव चालू है /dev/disk1s2। इस जानकारी से आप डिस्क यूटिलिटी ऐप का उपयोग कर सकते हैं और पता लगा सकते हैं कि आपका ओएस किस भौतिक ड्राइव पर है:

Disk Utility

का उपयोग करते हुए diskutil कमांड लाइन से आप OS ड्राइव जो भी हो उससे संबंधित हो जाएगा df कमांड आउटपुट ने आपको दिया:

% diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS Nymeria                 499.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk1
   1:                        EFI                         209.7 MB   disk1s1
-> 2:                  Apple_HFS Untitled 1              119.2 GB   disk1s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk1s3

यदि आप इस बात से अपरिचित हैं कि UNIX- जैसे ऑपरेटिंग सिस्टम (OS X) विभाजन को ड्राइव चेक कैसे करता है यह विकिपीडिया लेख

और अगर आप सीधे टर्मिनल में रूट विभाजन के लिए सभी विवरण प्राप्त करना चाहते हैं, तो दौड़ें

diskutil info $(df / | tail -1 | cut -d' ' -f 1)

उस जानकारी के लिए बहुत-बहुत धन्यवाद - यह सिर्फ मेरी जरूरत है। क्या आप जानते हैं कि क्या उस रेखा के साथ संयोजन करने का कोई तरीका है diskutil info ... या क्या आपको लगता है कि मुझे जावा में कमांड को चलाना होगा और इसके लिए किसी अन्य कमांड में क्या उपयोग होगा diskutil info अंश?
Andy

यह मेरे ज्ञान के क्षेत्र के बाहर है, लेकिन अगर कोई टिप्पणी छोड़ता है तो मैं जवाब को अपडेट करूंगा।
Aaron Lake

यह काफी उचित है। मुझे पूरा यकीन है कि मुझे पता है कि अब किसी भी तरह से क्या करना है। आपकी सहायता के लिए एक बार फिर से धन्यवाद!
Andy

2
@ और, क्या आप कुछ ऐसा चाह रहे हैं diskutil info $(df -h / | tail -1 | cut -d' ' -f 1)?
nohillside

@patrix धीमे उत्तर के लिए क्षमा करें। हां, यही मैं ढूंढ रहा था। धन्यवाद
Andy

0

यह शेल फ़ंक्शन आपको उस वॉल्यूम का नाम बताएगा जो किसी भी फ़ाइल (या फ़ोल्डर, आदि) को रखता है।

function volumeOfFile {
  local result=$(
      /bin/df "$1" \
      | /usr/bin/sed -e 1d -e 's,  *, ,g' -e s,/Volumes/,, \
      | cut -d' ' -f 9-
  )
  if [[ $result == / ]] ; then
    /bin/ls -l /Volumes \
    | /usr/bin/sed -n -e 's,  *, ,g' -e 's, -> /$,,p' \
    | cut -d' ' -f 9-
  else
    echo "$result"
  fi
}

उदाहरण:

$ volumeOfFile /System
Mac HD
$ volumeOfFile /Volumes/Other/Users
Other
$

मैं ऐसा करने का एक आसान तरीका जानना चाहता हूं या स्विफ्ट में ऐसा करने का तरीका।

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