ฉันจะทราบได้อย่างไรว่าโวลุ่มใดที่ระบบปฏิบัติการเปิดอยู่


5

ฉันจะยอมรับว่าฉันกำลังกลิ้งคำถามหลาย ๆ คำถามไปที่นี่ดังนั้นโปรดยกโทษให้ฉันและพยายามอย่าเคาะฉัน

ฉันใหม่กับ Mac แต่ฉันพยายามที่จะพอร์ตหนึ่งในแอปพลิเคชัน Java ของฉันไปยัง OS X บน Windows มันใช้หมายเลขซีเรียลฮาร์ดไดรฟ์สำหรับบางสิ่งบางอย่างและฉันกำลังมองหาสิ่งที่เทียบเท่าใน Mac โดยใช้ Terminal!

สิ่งที่ฉันสามารถค้นหาได้คือ UUID ระดับเสียงที่ใช้ 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 และค้นหาว่าระบบปฏิบัติการของคุณเปิดอยู่:

Disk Utility

การใช้ diskutil จากบรรทัดคำสั่งคุณไดรฟ์ระบบปฏิบัติการจะเป็นสิ่งที่มีความสัมพันธ์กับสิ่งที่ 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

หากคุณไม่คุ้นเคยกับวิธีการแบ่งพาร์ติชันระบบปฏิบัติการ (OS X) ที่คล้าย UNIX บทความ Wikipedia นี้ .

และถ้าคุณต้องการรับรายละเอียดทั้งหมดสำหรับพาร์ติชั่นรูทในเทอร์มินัลโดยตรงให้รัน

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

ขอบคุณมากสำหรับข้อมูลนั้น - มันเป็นสิ่งที่ฉันต้องการ คุณรู้หรือไม่ว่ามีวิธีที่จะรวมสายนั้นกับ diskutil info ... หรือคุณคิดว่าฉันจะต้องเรียกใช้คำสั่งใน Java และใช้สิ่งที่มันกลับมาในคำสั่งอื่นสำหรับ 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
$

ฉันต้องการทราบวิธีที่ง่ายกว่าในการทำสิ่งนี้หรือวิธีการทำใน Swift

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.