我想通过终端查看硬盘上未分配的可用空间。 我烧着脑子在互联网上寻找可能的解决方案,但都是徒劳的。
我使用了各种命令,例如df
,du
,fdisk
,parted
等。
它告诉我有关已安装和未安装的磁盘的信息,但是我保留的未分配空间呢?
当然我可以使用Fedora提供的“磁盘工具”应用查看它,但是因为我喜欢在终端中,我想在其中查看。
有人可以帮我解决一下吗?
答案 0 :(得分:72)
使用GNU parted
和print 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,找出已安装的部分和那里的UUID等
说,你的硬盘被标记为/ 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
......在这里你可以看到我没有任何自由。如果我这样做,那最后一个数字将大于零。
这很重要,因为可用空间不可见到du
,df
等,如果您使用的话,它也会显示为已分配的分区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命令如果你没有做任何错误所有将工作和以前一样但没有任何差距。