在bash脚本中,我需要获取整个磁盘的总大小和当前已使用的大小。
我知道可以使用以下命令获取总磁盘大小,而不需要root权限:
cat /sys/block/sda/size
这个命令将输出设备SDA上块的数量。将其乘以512,您就会得到此设备上的字节数。这足以获取总磁盘大小。
现在是关于当前使用空间的问题。我想在没有root权限的情况下获取此值。我可以假设设备名称为SDA。现在有一个命令:
df
。我打算使用这个命令,但它似乎只输出当前挂载分区的数据。有没有办法获取SDA磁盘上已使用空间的总量,而不需要root权限且不需要所有分区都被挂载?
让我们假设以下例子:
/dev/sda1 80GB Linux partition 20GB Used
/dev/sda2 80GB Linux Home partition 20GB Used
/dev/sda3 100GB Windows Parition. 30GB Used
假设我的SDA磁盘分区如上所示。但是当我在Linux上时,我的Windows分区(sda3)未被挂载。
df命令的输出将给出我使用了40GB的总量,因此它不考虑sda3。
再次提问: 是否有一种方法可以在没有root权限的情况下获取我使用了70GB的总空间?
fdisk -l
命令? - riteshtchlsblk
显示每个分区的总空间。我知道如何获取它们。但我想问的是每个分区的总可用空间,而不管它们是否已挂载。 - Baklap4