如何通过终端查看硬盘上未分配的可用空间

时间:2012-09-07 07:08:07

标签: linux terminal fedora hard-drive

我想通过终端查看硬盘上未分配的可用空间。 我烧着脑子在互联网上寻找可能的解决方案,但都是徒劳的。

我使用了各种命令,例如dfdufdiskparted等。 它告诉我有关已安装和未安装的磁盘的信息,但是我保留的未分配空间呢?

当然我可以使用Fedora提供的“磁盘工具”应用查看它,但是因为我喜欢在终端中,我想在其中查看。

有人可以帮我解决一下吗?

13 个答案:

答案 0 :(得分:72)

使用GNU partedprint free命令:

root@sandbox:~# parted
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print free
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 64.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system  Flags
        32.3kB  1049kB  1016kB            Free Space
 1      1049kB  256MB   255MB   primary   ext2         boot
        256MB   257MB   1048kB            Free Space
 2      257MB   64.4GB  64.2GB  extended
 5      257MB   64.4GB  64.2GB  logical                lvm
        64.4GB  64.4GB  1049kB            Free Space

答案 1 :(得分:21)

在结核病中看到:

# parted /dev/sda unit TB print free | grep 'Free Space' | tail -n1 | awk '{print $3}'

在GB中看到:

# parted /dev/sda unit GB print free | grep 'Free Space' | tail -n1 | awk '{print $3}'

以MB格式查看:

# parted /dev/sda unit MB print free | grep 'Free Space' | tail -n1 | awk '{print $3}'

以字节为单位:

# parted /dev/sda unit B print free | grep 'Free Space' | tail -n1 | awk '{print $3}'

要查看%:

# parted /dev/sda unit '%' print free | grep 'Free Space' | tail -n1 | awk '{print $3}'

要了解行业:

# parted /dev/sda unit s print free | grep 'Free Space' | tail -n1 | awk '{print $3}'

/dev/sda更改为您尝试查找有关信息的任何设备。如果您在任何计算中使用结果,请确保修剪尾随字符。

答案 2 :(得分:4)

这是一个老问题,但我也想给出答案。

由于我们正在讨论免费可用空间,我们应该讨论扇区,因为没有对扇区进行分区或调整。

对于我们这些人来说,这并没有多大意义。要获得人类可读的信息,我们必须将此数字转换为字节。 所以,我们已经分区了一个磁盘,我们想知道我们可以使用多少空间。我个人不喜欢parted解决方案,因为我已经掌握了命令的大脑记忆。还有cfdisk,它为您提供了自由空间。但我认为fdisk是最快的解决方案:它简单明了,无需安装:执行fdisk /dev/sdx然后在交互式shell中输入 v 。它将为您提供仍然免费的行业数量。

2004-54-0 [17:03:33][root@minimac:~]$> fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).
..
Command (m for help): v
Remaining 1713 unallocated 512-byte sectors

我们仍有1713个扇区,每个扇区512字节。那么,因为你喜欢终端(在2012年,谁现在知道?)我们做echo $(((1713*512)/1024))k,这是1713个扇区乘以512字节(除以1024得到KB),这给出了856k ..甚至不是900 KB。我需要另一个磁盘..

答案 3 :(得分:3)

请按照以下说明。

  • 找出dev类型,无论是/ dev / sda / dev / hda / dev / vda等。

  • 寻找vi / etc / fstab,找出​​已安装的部分和那里的U​​UID等

  • 说,你的硬盘被标记为/ dev / sda,你知道df -hT下的/ dev / sda的数量

然后你需要找出剩下的/ dev / sda *吧。

所以,

fdisk -l / dev / sda *将给出所有/ dev / sda *,你会发现例如/ dev / sda4或/ dev / sda5

然后找出已安装部分的UUID,那些未在/ etc / fstab中列出的是您可以格式化和安装的部分。

跟着这个。一个明智的世界就足够了。

答案 4 :(得分:3)

以图形方式使用磁盘实用程序时,它显示所有文件系统使用的磁盘空间,并使用终端中的命令,例如df -H。换句话说,它使用1000而不是1024的幂。(注意:-h-H之间存在差异。)

同时还使用命令行在硬盘中查找未分配的空间 # fdisk /dev/sda将显示总空间和总柱面值。

现在检查最后一个柱面值并从总柱面值中减去它。 因此,最终值* 1000为您提供未分配的磁盘空间。

注意:柱面值以df -H显示为1000的幂,或者也可能使用df -h显示,功率为1024。

答案 5 :(得分:2)

除了有关如何查找未分区空间的所有答案之外,您还可以将空间分配给LVM卷,但实际上并未使用。您可以使用pvdisplay列出物理卷,并查看与每个物理卷关联的卷组。如果物理卷与任何卷组无关,则可以安全地重新分配或销毁。假设 与卷组关联,下一步是使用vgdisplay来显示您的卷组。除其他外,这将显示你是否有任何免费的物理范围" - 您可以分配给逻辑卷的存储块。您可以使用vgs

以简洁的形式获得此信息
$ sudo vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  fedora   1   3   0 wz--n- 237.46g    0 

......在这里你可以看到我没有任何自由。如果我这样做,那最后一个数字将大于零。

这很重要,因为可用空间不可见dudf等,如果您使用的话,它也会显示为已分配的分区fdisk或其他分区工具。

答案 6 :(得分:1)

答案的简单解决方案:

parted /dev/sda

显示设备上的帮助。然后将其切换到您想要的单位。

要在设备上显示可用空间,请使用:

print free

答案 7 :(得分:1)

我遇到了与fedora 26和LVM分区一样的问题,似乎我在安装过程中忘了检查一下,所以,我的15G根目录已经像我需要的那样增加到227G。

我发布了我在此处遵循的步骤:

resize2fs: Bad magic number in super-block while trying to open

0) #df -h

Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G  824K  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/fedora-root   15G  2.1G   13G  14% /
tmpfs                    1.9G     0  1.9G   0% /tmp
/dev/md126p1             976M  119M  790M  14% /boot
tmpfs                    388M     0  388M   0% /run/user/0

1) # vgs

  VG     #PV #LV #SN Attr   VSize   VFree   
  fedora   1   2   0 wz--n- 231.88g 212.96g

2) # vgdisplay

  --- Volume group ---
  VG Name               fedora
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               231.88 GiB
  PE Size               4.00 MiB
  Total PE              59361
  Alloc PE / Size       4844 / 18.92 GiB
  Free  PE / Size       54517 / 212.96 GiB
  VG UUID               9htamV-DveQ-Jiht-Yfth-OZp7-XUDC-tWh5Lv

3) # lvextend -l +100%FREE /dev/mapper/fedora-root

  Size of logical volume fedora/root changed from 15.00 GiB (3840 extents) to 227.96 GiB (58357 extents).
  Logical volume fedora/root successfully resized.

4) #lvdisplay

5) #fd -h

6) # xfs_growfs /dev/mapper/fedora-root

meta-data=/dev/mapper/fedora-root isize=512    agcount=4, agsize=983040 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1 spinodes=0 rmapbt=0
         =                       reflink=0
data     =                       bsize=4096   blocks=3932160, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 3932160 to 59757568


7) #df -h

Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G  828K  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/fedora-root  228G  2.3G  226G   2% /
tmpfs                    1.9G     0  1.9G   0% /tmp
/dev/md126p1             976M  119M  790M  14% /boot
tmpfs                    388M     0  388M   0% /run/user/0

致以最诚挚的问候,

答案 8 :(得分:1)

在单个命令中显示未分配的可用空间的最简单方法:

$ sudo sfdisk --list-free /dev/sdX

(如果您不需要有关扇区大小等其他信息,请添加--quiet选项)

答案 9 :(得分:0)

文件系统大小可能与patition大小不同。要修复你需要这样做

  

df -h

看看分区的名称是什么/ dev / sda3

  

resize2fs / dev / sda3

答案 10 :(得分:-1)

如果您需要查看具有可用空间的分区和/或文件管理器,则可以使用上述实用程序。你只需要使用选项。

例如:df -h将以“人类可读”的形式将这些信息打印出来。如果您只需要有关可用空间的信息,可以使用:df -h | awk '{print $1" "$4}'

答案 11 :(得分:-1)

您可能希望使用fdisk -l /dev/sda命令查看sda磁盘的分区。 “自由空间”应该是一些未使用的分区(或缺少)。

答案 12 :(得分:-1)

当您通过fdisk在分区中剪切磁盘时,您可能会小心,以免留有空闲空间。因此命令会自动对齐分区,您将在各部分之间找到一些空白。网上有很多文章为什么需要这样做。原因是它提供了更少错误的解决方案。那是很多年前的事了。现在我不知道如果你做的都没有任何差距就会出现错误。但首先。如果您不允许对齐下一部分=结束前一个+ 1,则可以这样做。但是第一部分始终以2048部门开始。所以调用专家部分你可以把它转移到0.但是如果你计划从这个磁盘启动,强烈建议这样做。如果仅用于数据,您将获得1 Mb的额外磁盘空间。这是一个MBR空间。如果您计划在此磁盘上安装操作系统,则不要使用GPT分区类型。此外,并非所有操作系统都能看到GPT的磁盘部分。但有些人看到了他们。如果你不确定它使用msdos。格式化块大小为4096字节(逻辑),而物理块大小为512字节。我没有这样做,但你也可以设置块大小= 512。关于这一点有很多讨论。这会导致磁盘错误。但是,当你有许多小尺寸文件时,你也会提供一些可用的磁盘空间。你的磁盘将更紧凑地填充。如果你给已经分区的磁盘填充数据并且可能安装了操作系统,你可能想要这样做,这是非常有问题的。但Linux可能。对于Windows没有...你必须保存备份和mbr,写每个部分的UUID然后使用fdisk和格式设置正确UUID和LABEL为每个部分恢复mbr与dd命令如果你没有做任何错误所有将工作和以前一样但没有任何差距。