如何在 Linux 中组合所有 HDD 可用和已用存储(仅打印)

问题描述 投票:0回答:1

我想合并所有驱动器的总可用存储空间和已用存储空间。 当我使用

lsblk
时,我得到这个结果

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

nvme1n1     259:0    0  1.8T  0 disk

  ├─nvme1n1p1 259:2    0    4G  0 part [SWAP]

  ├─nvme1n1p2 259:3    0    1G  0 part /boot

  └─nvme1n1p3 259:4    0  1.8T  0 part /

  nvme0n1     259:1    0  1.8T  0 disk /home2

所以我想合并所有 nvme1n1 和 nvme0n1 所以当我尝试修改时

lsblk -b --output SIZE -n -d

我得到这个结果

1920383410176

1920383410176

但问题是我想合并所有可用的块并以 GB 为单位显示总数

4000 GB

额外的要求是我想显示 GB 中所有硬盘上所有已使用块的总数。

有人可以帮忙吗?

linux bash shell ubuntu debian
1个回答
0
投票

您可以从 sysfs 获取总大小。与 profcs 一起,它基本上是每个用户空间程序使用的接口。

blocks=$(cat /sys/class/block/nvme0n1/size)
size=$(( $blocks * 512 ))
gb=$((size / 1024 / 1024 / 1024))

echo "your disk in GB: $gb"
© www.soinside.com 2019 - 2024. All rights reserved.