我如何检查系统中多个硬盘驱动器中剩余的总可用存储容量?

我如何检查系统中多个硬盘驱动器中剩余的总可用存储容量?

我的计算机上连接了 15 个 SATA 硬盘,必须逐个检查它们,记下可用空间,然后汇总所有内容,这并不理想。

是否有命令或命令组合可以做到这一点?理想情况下,我可以传递类似的内容,/dev/sd*因为我不想包含 nvme 驱动器。

答案1

编辑:我应该多读手册页。很简单,

df --total -h /dev/sd*

好吧,我发现了一些东西

df --output=avail  /dev/sd* | tail -n +2 | datamash sum 1

这基本上是列出已安装的磁盘并仅显示可用空间作为输出,然后使用 tail 删除第一行(即列标题),Avail最后使用 datamash 对数字求和。

答案2

请记住,df为了排除虚拟 RAM 磁盘条目(例如)/dev,请使用以下-x命令:

df -x tmpfs -x devtmpfs --total -h

另一种方法是使用lsblk命令

  • -l以列表格式输出
  • -n跳过标题行
  • -b以字节为单位打印
  • -o输出指定列
  • FSAVAIL打印文件系统可用/空闲大小
lsblk -l -n -b -o FSAVAIL | grep -v ^$ | \
awk '{sum+=$1} END{print sum}' | numfmt --to=iec

用于grep排除空行,awk​​对第一列求和,最后numfmt将字节转换为“人类可读”的格式。

相关内容