diskutil: รับพื้นที่ทั้งหมดและพื้นที่ว่างอย่างถูกต้องบน macOS


1

ใน macOS High Sierra ด้วยรูปแบบ SSD พร้อม APFS ฉันได้รับ:

   diskutil info -all

   Device Identifier:        disk0
   Device Node:              /dev/disk0
   Whole:                    Yes
   Part of Whole:            disk0
   Device / Media Name:      APPLE SSD SM0512L

   Volume Name:              Not applicable (no file system)
   Mounted:                  Not applicable (no file system)
   File System:              None

   Content (IOContent):      GUID_partition_scheme
   OS Can Be Installed:      No
   Media Type:               Generic
   Protocol:                 PCI-Express
   SMART Status:             Not Supported

   Disk Size:                500.3 GB (500277788672 Bytes) (exactly 977105056 512-Byte-Units)
   Device Block Size:        4096 Bytes

   Read-Only Media:          No
   Read-Only Volume:         Not applicable (no file system)

   Device Location:          Internal
   Removable Media:          Fixed

   Solid State:              Yes
   Hardware AES Support:     No

**********

   Device Identifier:        disk0s1
   Device Node:              /dev/disk0s1
   Whole:                    No
   Part of Whole:            disk0

   Volume Name:              Not applicable (no file system)
   Mounted:                  Not applicable (no file system)
   File System:              None

   Partition Type:           EFI
   OS Can Be Installed:      No
   Media Type:               Generic
   Protocol:                 PCI-Express
   SMART Status:             Not Supported
   Volume UUID:              E783267B-A4C3-3556-B751-DBED770EB996
   Disk / Partition UUID:    4C82BF11-A7F4-4477-A189-500D6D646FD2
   Partition Offset:         24576 Bytes (6 4096-Byte-Device-Blocks)

   Disk Size:                314.6 MB (314572800 Bytes) (exactly 614400 512-Byte-Units)
   Device Block Size:        4096 Bytes

   Read-Only Media:          No
   Read-Only Volume:         Not applicable (no file system)

   Device Location:          Internal
   Removable Media:          Fixed

   Solid State:              Yes
   Hardware AES Support:     No

**********

   Device Identifier:        disk0s2
   Device Node:              /dev/disk0s2
   Whole:                    No
   Part of Whole:            disk0

   Volume Name:              Not applicable (no file system)
   Mounted:                  Not applicable (no file system)
   File System:              None

   Partition Type:           Apple_APFS
   OS Can Be Installed:      No
   Media Type:               Generic
   Protocol:                 PCI-Express
   SMART Status:             Not Supported
   Disk / Partition UUID:    4A04D2CF-3476-402C-B7F7-891B43239CCA
   Partition Offset:         314597376 Bytes (76806 4096-Byte-Device-Blocks)

   Disk Size:                500.0 GB (499963170816 Bytes) (exactly 976490568 512-Byte-Units)
   Device Block Size:        4096 Bytes

   Read-Only Media:          No
   Read-Only Volume:         Not applicable (no file system)

   Device Location:          Internal
   Removable Media:          Fixed

   Solid State:              Yes
   Hardware AES Support:     No

**********

   Device Identifier:        disk1
   Device Node:              /dev/disk1
   Whole:                    Yes
   Part of Whole:            disk1
   Device / Media Name:      APPLE SSD SM0512L

   Volume Name:              Not applicable (no file system)
   Mounted:                  Not applicable (no file system)
   File System:              None

   Content (IOContent):      EF57347C-0000-11AA-AA11-00306543ECAC
   OS Can Be Installed:      No
   Media Type:               Generic
   Protocol:                 PCI-Express
   SMART Status:             Not Supported
   Disk / Partition UUID:    9A41D8CF-D5B1-4DD6-95B9-9AD553775115

   Disk Size:                500.0 GB (499963170816 Bytes) (exactly 976490568 512-Byte-Units)
   Device Block Size:        4096 Bytes

   Read-Only Media:          No
   Read-Only Volume:         Not applicable (no file system)

   Device Location:          Internal
   Removable Media:          Fixed

   Solid State:              Yes
   Virtual:                  Yes
   Hardware AES Support:     No

**********

   Device Identifier:        disk1s1
   Device Node:              /dev/disk1s1
   Whole:                    No
   Part of Whole:            disk1

   Volume Name:              Macintosh SSD
   Mounted:                  Yes
   Mount Point:              /

   Partition Type:           41504653-0000-11AA-AA11-00306543ECAC
   File System Personality:  APFS
   Type (Bundle):            apfs
   Name (User Visible):      APFS
   Owners:                   Enabled

   OS Can Be Installed:      Yes
   Booter Disk:              disk1s2
   Recovery Disk:            disk1s3
   Media Type:               Generic
   Protocol:                 PCI-Express
   SMART Status:             Not Supported
   Volume UUID:              63FC8459-50EA-467F-9808-FE1FDCA3202F
   Disk / Partition UUID:    63FC8459-50EA-467F-9808-FE1FDCA3202F

   Disk Size:                500.0 GB (499963170816 Bytes) (exactly 976490568 512-Byte-Units)
   Device Block Size:        4096 Bytes

   Volume Total Space:       500.0 GB (499963170816 Bytes) (exactly 976490568 512-Byte-Units)
   Volume Used Space:        311.0 GB (311046836224 Bytes) (exactly 607513352 512-Byte-Units) (62.2%)
   Volume Free Space:        188.9 GB (188916334592 Bytes) (exactly 368977216 512-Byte-Units) (37.8%)
   Allocation Block Size:    4096 Bytes

   Read-Only Media:          No
   Read-Only Volume:         No

   Device Location:          Internal
   Removable Media:          Fixed

   Solid State:              Yes
   Hardware AES Support:     No

**********

   Device Identifier:        disk1s2
   Device Node:              /dev/disk1s2
   Whole:                    No
   Part of Whole:            disk1

   Volume Name:              Preboot
   Mounted:                  No

   Partition Type:           41504653-0000-11AA-AA11-00306543ECAC
   File System Personality:  APFS
   Type (Bundle):            apfs
   Name (User Visible):      APFS
   Owners:                   Disabled

   OS Can Be Installed:      No
   Booter Disk:              disk1s2
   Recovery Disk:            disk1s3
   Media Type:               Generic
   Protocol:                 PCI-Express
   SMART Status:             Not Supported
   Volume UUID:              D781C0DD-86C5-45D3-AC8E-835B81757689
   Disk / Partition UUID:    D781C0DD-86C5-45D3-AC8E-835B81757689

   Disk Size:                500.0 GB (499963170816 Bytes) (exactly 976490568 512-Byte-Units)
   Device Block Size:        4096 Bytes

   Volume Total Space:       0 B (0 Bytes) (exactly 0 512-Byte-Units)
   Volume Free Space:        0 B (0 Bytes) (exactly 0 512-Byte-Units)

   Read-Only Media:          No
   Read-Only Volume:         Not applicable (not mounted)

   Device Location:          Internal
   Removable Media:          Fixed

   Solid State:              Yes
   Hardware AES Support:     No

**********

   Device Identifier:        disk1s3
   Device Node:              /dev/disk1s3
   Whole:                    No
   Part of Whole:            disk1

   Volume Name:              Recovery
   Mounted:                  No

   Partition Type:           41504653-0000-11AA-AA11-00306543ECAC
   File System Personality:  APFS
   Type (Bundle):            apfs
   Name (User Visible):      APFS
   Owners:                   Disabled

   OS Can Be Installed:      No
   Booter Disk:              disk1s2
   Recovery Disk:            disk1s3
   Media Type:               Generic
   Protocol:                 PCI-Express
   SMART Status:             Not Supported
   Volume UUID:              E223480E-7D24-4FBD-8936-60AFDD89865B
   Disk / Partition UUID:    E223480E-7D24-4FBD-8936-60AFDD89865B

   Disk Size:                500.0 GB (499963170816 Bytes) (exactly 976490568 512-Byte-Units)
   Device Block Size:        4096 Bytes

   Volume Total Space:       0 B (0 Bytes) (exactly 0 512-Byte-Units)
   Volume Free Space:        0 B (0 Bytes) (exactly 0 512-Byte-Units)

   Read-Only Media:          No
   Read-Only Volume:         Not applicable (not mounted)

   Device Location:          Internal
   Removable Media:          Fixed

   Solid State:              Yes
   Hardware AES Support:     No

**********

   Device Identifier:        disk1s4
   Device Node:              /dev/disk1s4
   Whole:                    No
   Part of Whole:            disk1

   Volume Name:              VM
   Mounted:                  Yes
   Mount Point:              /private/var/vm

   Partition Type:           41504653-0000-11AA-AA11-00306543ECAC
   File System Personality:  APFS
   Type (Bundle):            apfs
   Name (User Visible):      APFS
   Owners:                   Enabled

   OS Can Be Installed:      No
   Booter Disk:              disk1s2
   Recovery Disk:            disk1s3
   Media Type:               Generic
   Protocol:                 PCI-Express
   SMART Status:             Not Supported
   Volume UUID:              64D2BA51-6B59-4470-A71F-58E051AA54B5
   Disk / Partition UUID:    64D2BA51-6B59-4470-A71F-58E051AA54B5

   Disk Size:                500.0 GB (499963170816 Bytes) (exactly 976490568 512-Byte-Units)
   Device Block Size:        4096 Bytes

   Volume Total Space:       500.0 GB (499963170816 Bytes) (exactly 976490568 512-Byte-Units)
   Volume Used Space:        311.0 GB (311046836224 Bytes) (exactly 607513352 512-Byte-Units) (62.2%)
   Volume Free Space:        188.9 GB (188916334592 Bytes) (exactly 368977216 512-Byte-Units) (37.8%)
   Allocation Block Size:    4096 Bytes

   Read-Only Media:          No
   Read-Only Volume:         No

   Device Location:          Internal
   Removable Media:          Fixed

   Solid State:              Yes
   Hardware AES Support:     No

**********

ฉันเพิ่งมี 512 GB SSD

ดังนั้นปัญหาของฉันคือวิธีการแยกวิเคราะห์ให้ถูกต้อง:

  • พื้นที่ทั้งหมด
  • พื้นที่ว่าง

จากผลลัพธ์ฉันไม่สามารถหาผลรวมของทุกบรรทัดที่ขึ้นต้นด้วย:

Volume Total Space และ Volume Free Space; ดูเหมือนว่าพวกเขาทั้งสองรายการสิ่งเดียวกัน:

Volume Total Space: 500.0 GB (499963170816 Bytes) (exactly 976490568 512-Byte-Units)

ลอง df -H ผลลัพธ์คือ:

df -H
Filesystem      Size   Used  Avail Capacity iused               ifree %iused  Mounted on
/dev/disk1s1    500G   309G   189G    63% 2397390 9223372036852378417    0%   /
devfs           195k   195k     0B   100%     658                   0  100%   /dev
/dev/disk1s4    500G   1.1G   189G     1%       3 9223372036854775804    0%   /private/var/vm
map -hosts        0B     0B     0B   100%       0                   0  100%   /net
map auto_home     0B     0B     0B   100%       0                   0  100%   /home

อีกครั้งมี 2 บรรทัด (สำหรับ / dev / disk1s1 และ / dev / disk1s4) แสดง:

Size 500G และ Avail 189G

ฉันรู้ว่าพฤติกรรมนี้เกี่ยวข้องกับสิ่งใดบ้าง แต่อีกครั้งฉันต้องการตรรกะบางอย่างเพื่อกรอง รายการซ้ำ .

ฉันแค่ต้องการใช้คำสั่ง CLI หนึ่งคำสั่งหรือมากกว่านั้นซึ่งให้ฉันตอบคำถามนี้:

พื้นที่ทั้งหมดบนดิสก์ทั้งหมด (ผลรวม) บนโฮสต์นี้มีเท่าใดและมีอยู่ในดิสก์ทั้งหมด (ผลรวม) เท่าใด


คุณพยายามจะได้อะไร พื้นที่ว่างของไดรฟ์ ทำไมไม่ใช้ df?
Allan

คำตอบ:


2

โซลูชันทั้งสองต่อไปนี้แสดงรายการขนาดดิสก์ทั้งหมดและพื้นที่ว่างบนบรรทัดถัดไปของระบบไฟล์ HFS:

df -H | awk '/\/dev\/disk1/ {printf("%s\n%s\n", $2,$4)}'

diskutil info /dev/disk1 | awk '
        /Volume Total Space/     { total = $4" "$5 }
        /Volume Available Space/ { avail = $4" "$5 }
        END { printf("%s\n%s\n", total, avail) }'

สำหรับระบบไฟล์ APFS ลอง:

df -H | awk '/\/dev\/disk1s1/ {printf("%s\n%s\n", $2,$4)}'

diskutil info /dev/disk1s1 | awk '
        /Volume Total Space/     { total = $4" "$5 }
        /Volume Free Space/      { avail = $4" "$5 }
        END { printf("%s\n%s\n", total, avail) }'

แก้ไข: ความจุของระบบไฟล์ที่เมาท์ทั้งหมดและพื้นที่ว่างทั้งหมด

df | awk '/\/dev\/disk*/ && ! /\/private\/var\/vm/ {

        s_byte = $2 * 512            # covert blocks to bytes
        a_byte = $4 * 512
        ts_byte+=s_byte              # add bytes for each device
        ta_byte+=a_byte              # to their total
        }

        END {

        ts_byte=ts_byte/1000000000   # convert bytes to GB
        ta_byte=ta_byte/1000000000

        print "CAPACITY:", ts_byte,"G     AVAILABLE:", ta_byte,"G"
}'

โซลูชันของคุณสำหรับดิสก์เฉพาะ ฉันต้องการค่า "global" ผลรวมของดิสก์ทั้งหมด (ทั้งหมดและมีให้)
Javier Castro

1

คุณควรใช้ diskutil info /dev/disk1

diskutil info --all ให้มากกว่าที่จำเป็นยังแสดงปริมาณที่ใช้สำหรับการกู้คืนระบบ ฯลฯ

df ไม่มีประโยชน์ที่นี่เนื่องจากไม่ได้ให้ข้อมูลปริมาณจริง


นี่ไม่ได้ตอบคำถามของ OP
Allan

คำถามคือ: วิธีการแยกอย่างถูกต้องที่จะได้รับ: พื้นที่ทั้งหมดพื้นที่ว่าง df ไม่มีประโยชน์ที่นี่เนื่องจากไม่ได้ให้ข้อมูลปริมาณจริง diskutil info --all ให้มากกว่าที่จำเป็นยังแสดงปริมาณที่ใช้สำหรับการกู้คืนระบบ ฯลฯ
Igor Voltaic

1
นั่นคือข้อมูลที่ควรเพิ่มเข้าไปในคำตอบ คำตอบที่ดีจะอธิบายว่าทำไมพวกเขาถึงดีหรือดีกว่าคำตอบอื่น ๆ และทำไมพวกเขาตอบคำถาม มันจะดีถ้าคุณทำได้ แก้ไข คำตอบของคุณเพื่อเพิ่มข้อมูลนี้ ดู วิธีการตอบ สำหรับข้อมูลเพิ่มเติม
fsb

ขอบคุณสำหรับเคล็ดลับ fsb
Igor Voltaic

0

อีกวิธีที่ง่ายกว่าในการรับข้อมูลของคุณคือเลือกไดรฟ์และคลิกขวาจากนั้นเลือกรับข้อมูล หน้าต่างเล็ก ๆ เปิดขึ้นพร้อมข้อมูลมากมาย มันจะแสดงรายการความจุพร้อมใช้งานและหมายเลขที่ใช้สำหรับไดรฟ์ ฉันไม่เข้าใจสิ่งที่พวกเขาใช้สำหรับหมายเลขที่มีอยู่ แต่คุณสามารถใช้หมายเลขความจุและลบจำนวนที่ใช้ สิ่งนี้จะช่วยให้คุณมีจำนวนที่ถูกต้องสำหรับจำนวนพื้นที่ว่าง

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