Unix / Linux操作系统上的可用磁盘空间


11

如何获得Unix / Linux OS上的可用磁盘空间,包括未分配的空间(未分配给任何分区)?


1
在此发布的其他答案非常好,因此我不会添加到它们中(尽管我会投票赞成!),但是我会注意到几乎所有用于查看原始设备的命令(这是您要做的, (请参阅尚未为系统用户提供的空间)需要特权。如果没有根,请忘记它。
MadHatter

1
而且,如果您要解决的是问题,则应撰写有关该问题的文章。
迈克尔·汉普顿

我的问题是,我不知道如何获取可用的磁盘空间。
krapstuke 2012年

Answers:


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
    

    您需要将“已用开发大小”与分区大小进行比较

  5. 文件系统可以小于其所在的卷(感谢@PaulGear!)。您应该将LVM逻辑卷,MD RAID设备,分区或文件系统所驻留的其他设备的大小与文件系统的大小(由返回df)进行比较。

如果您有多个磁盘或LVM卷组并且是相对较新的发行版,则可以lsblk用来显示块设备树和安装点。

注意:营销GB(10 ^ 9B)和OS或工程GB(2 ^ 30B,应写为GiB以便区分两者)之间也存在差异。40GB约为37.25GiB。以上所有工具均parted使用二进制GB作为默认单位。unit MiBprint获取以MB为单位的答案之前,请添加到parted命令(对于对齐SSD和4KiB扇区磁盘上的分区也很有用)。


1
还要注意,裂缝之间可能存在空间,例如,如果您的LV为40 GiB,而文件系统仅为30 GiB。请确保您交叉检查的答案dflvs
Paul Gear



1

您可以使用“ df -h”查看分区。其余的您可以使用“ parted discname ”,然后使用“ print”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.