在 linux 获得免费的 space 硬盘
Get free space of HDD in linux
在 bash 脚本中,我需要获取整个磁盘的总磁盘大小和当前使用的大小。
我知道我可以使用此命令获得总磁盘大小而无需成为 root:
cat /sys/block/sda/size
此命令将输出设备 SDA 上的块数。
将它乘以 512,您将得到该设备上的字节数。
总磁盘大小就足够了。
现在为当前使用的space。我想在没有 root 的情况下获得这个值。
我可以假设设备名称是 SDA。
现在有这个命令:df
我以为我可以使用这个命令,但似乎这个命令只输出当前挂载分区的数据。
有没有办法在磁盘 SDA 上总共使用 space 而无需成为 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 的输出总计使用了 40 GB,所以它没有考虑 sda3。
又是问题:
有没有办法不用 root 让我总共使用 70 GB space?
您可以使用 df
.
df -h --output='used' /home
Used
3.2G
如果你将它与一些 sed
或 awk
结合起来,你可以获得你想要的价值
我认为 stat
命令应该有所帮助。您可以从 /proc/partitions
.
获取分区
示例 stat
命令输出:
$ stat -f /dev/sda1
File: "/dev/sda1"
ID: 0 Namelen: 255 Type: tmpfs
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 237009 Free: 236970 Available: 236970
Inodes: Total: 237009 Free: 236386
在 bash 脚本中,我需要获取整个磁盘的总磁盘大小和当前使用的大小。
我知道我可以使用此命令获得总磁盘大小而无需成为 root:
cat /sys/block/sda/size
此命令将输出设备 SDA 上的块数。 将它乘以 512,您将得到该设备上的字节数。 总磁盘大小就足够了。
现在为当前使用的space。我想在没有 root 的情况下获得这个值。
我可以假设设备名称是 SDA。
现在有这个命令:df
我以为我可以使用这个命令,但似乎这个命令只输出当前挂载分区的数据。
有没有办法在磁盘 SDA 上总共使用 space 而无需成为 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 的输出总计使用了 40 GB,所以它没有考虑 sda3。
又是问题: 有没有办法不用 root 让我总共使用 70 GB space?
您可以使用 df
.
df -h --output='used' /home
Used
3.2G
如果你将它与一些 sed
或 awk
结合起来,你可以获得你想要的价值
我认为 stat
命令应该有所帮助。您可以从 /proc/partitions
.
示例 stat
命令输出:
$ stat -f /dev/sda1
File: "/dev/sda1"
ID: 0 Namelen: 255 Type: tmpfs
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 237009 Free: 236970 Available: 236970
Inodes: Total: 237009 Free: 236386