พื้นที่ดิสก์ที่มีอยู่บน Unix / Linux OS


11

วิธีรับพื้นที่ว่างใน Unix / Linux OS รวมถึงพื้นที่ที่ไม่ได้ถูกจัดสรร (ซึ่งไม่ได้กำหนดให้กับพาร์ติชันใด ๆ )


1
คำตอบอื่น ๆ ที่โพสต์ที่นี่ยอดเยี่ยมดังนั้นฉันจะไม่เพิ่มพวกเขา (แม้ว่าฉันจะ upvote พวกเขา!) แต่ฉันจะทราบว่าเกือบคำสั่งใด ๆ ที่จะดูอุปกรณ์ดิบ (ซึ่งเป็นสิ่งที่คุณต้องทำเพื่อ ดูพื้นที่ที่ยังไม่พร้อมให้บริการสำหรับผู้ใช้ระบบ) ต้องใช้สิทธิ์ หากคุณไม่มีรูทลืมมัน
MadHatter

1
และหากคุณมีปัญหาที่คุณพยายามแก้ไขคุณควรเขียนเกี่ยวกับปัญหานั้น
Michael Hampton

ปัญหาของฉันคือฉันไม่ทราบวิธีการใช้พื้นที่ดิสก์ที่มีอยู่นั่นคือทั้งหมด
krapstuke

คำตอบ:


20

บน Linux พื้นที่ว่างสามารถซ่อนได้ในหลาย ๆ ที่:

  1. พื้นที่ระบบไฟล์ว่าง (ชัดเจนที่สุด):

    df -h
    
  2. พื้นที่ที่ไม่ได้แบ่ง:

    for dev in /dev/sd?; do parted "$dev" print; done
    

    หรือ

    for dev in /dev/sd?; do fdisk -l "$dev"; done
    

    และศึกษาอย่างรอบคอบว่ามีพื้นที่ว่างระหว่างพาร์ติชั่นเท่าใดและระหว่างพาร์ติชั่นและส่วนปลายของอุปกรณ์

  3. พื้นที่ว่างในระบบ LVM:

    vgs
    

    หรือ

    pvs
    

    ฟิสิคัลวอลุ่มสามารถใช้พื้นที่น้อยกว่าขนาดของพาร์ติชันดังนั้นเปรียบเทียบขนาดกับขนาดพาร์ติชัน

  4. พื้นที่ที่ไม่ได้กำหนดให้กับพาร์ติชันในระบบ MD:

    for dev in /dev/md*; do mdadm --detail "$dev"; done
    

    คุณจะต้องเปรียบเทียบ "ขนาด Dev ที่ใช้แล้ว" กับขนาดพาร์ติชัน

  5. ระบบไฟล์อาจเล็กกว่าปริมาณที่เปิดอยู่ (ขอบคุณ @PaulGear!) คุณควรเปรียบเทียบขนาดของ LVM Logical Volume, อุปกรณ์ MD RAID, พาร์ทิชันหรืออุปกรณ์อื่น ๆ ที่ระบบไฟล์อยู่กับขนาดของระบบไฟล์ (ตามที่ส่งคืนโดยdf)

หากคุณมีมากกว่าหนึ่งดิสก์หรือกลุ่มวอลุ่ม LVM และการกระจายที่ค่อนข้างใหม่คุณอาจใช้lsblkเพื่อแสดงแผนผังของอุปกรณ์บล็อกพร้อมกับเมานต์พอยท์

หมายเหตุ:นอกจากนี้ยังมีความแตกต่างระหว่างการตลาด GB (ซึ่งคือ 10 ^ 9B) และระบบปฏิบัติการหรือวิศวกรรม GB (ซึ่งเป็น 2 ^ 30B และควรจะเขียน GiB เพื่อแยกความแตกต่างระหว่างสอง) 40GB ประมาณ 37.25GiB เครื่องมือทั้งหมดข้างต้นยกเว้นpartedใช้ไบนารีกิกะไบต์เป็นหน่วยเริ่มต้น เพิ่มunit MiBไปยังคำสั่งแยกส่วนก่อนที่printจะได้รับคำตอบใน Mebibytes (ยังมีประโยชน์สำหรับการจัดแนวพาร์ติชันบน SSD และดิสก์เซกเตอร์ 4KiB)


1
โปรดทราบว่าอาจมีช่องว่างระหว่างรอยแตกเช่นถ้าคุณมี LV ที่ 40 GiB และระบบไฟล์ที่มีเพียง 30 GiB ให้แน่ใจว่าคุณข้ามตรวจสอบคำตอบของและdf lvs
พอลเกียร์

3

ดูเหมือนว่าบางทีความปรารถนาสำหรับเครื่องมือเช่น partitionmanager หรือ gparted

http://kde-apps.org/content/show.php?content=89595

http://gparted.sourceforge.net/download.php

cfdisk จะแสดงพื้นที่ที่ไม่ได้ถูกจัดสรรบนดิสก์โดยพื้นฐานของดิสก์:

cfdisk /dev/sda

ระบุอุปกรณ์ที่เหมาะสม - sda, sdb, sdc เป็นต้น


2

ลอง:

df -h 

หรือ

fdisk -l *

http://www.unix.com/red-hat/178290-get-unallocated-disk-space.html

ลิงค์ด้านบนมีคำอธิบายเพิ่มเติมเกี่ยวกับสิ่งที่คุณเป็น

http://www.computerhope.com/unix/udf.htm หวังว่านี่จะช่วยได้


ใช่ แต่มันไม่ได้ช่วย df แสดงเพียงพาร์ติชันที่จัดสรรพื้นที่ เครื่องมี 5 ดิสก์ซึ่งมีพื้นที่รวม 48 GB จากคอนโซลฉันได้รับประมาณ ~ 30Gb พื้นที่ทั้งหมด
krapstuke

1

คุณสามารถเห็นพาร์ติชันด้วย "df -h" สำหรับส่วนที่เหลือคุณสามารถใช้ "แยกชื่อ " และ "พิมพ์"

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