📌  相关文章
📜  获取磁盘利用率 linux - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:11:53.082000             🧑  作者: Mango

获取磁盘利用率 Linux

在 Linux 系统中,我们经常需要获取磁盘的利用率以及可用空间。在本文中,我们将介绍如何使用 Shell/Bash 脚本获取磁盘的利用率。

获取总磁盘空间

要获取总磁盘空间,可以使用以下命令:

df -h /

该命令将返回以人类可读的格式(如 GB、MB 和 KB)显示磁盘使用情况。在上面的命令中, / 后跟相应的分区,表示需要获取该分区的磁盘空间。

输出结果示例:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        30G  2.2G   27G   8% /
  • Size:分区总大小;
  • Used:分区已用空间;
  • Avail:分区可用空间;
  • Use%:分区使用率。
获取磁盘利用率

要获取磁盘利用率,可以使用以下命令:

df / | awk 'NR==2{print $5}'

该命令将从 “/” 分区获取磁盘使用率(以百分比的格式显示)。该命令中,我们使用了 awk 命令选择输出的正确行,以及选择正确的列以获取磁盘使用率。

输出结果示例:

7%
改进代码

为了使代码更具可读性,我们可以将上述命令编写为一个自定义的 Shell 函数。该函数将返回磁盘使用率以及该分区的总磁盘空间。

get_disk_usage() {
  local usage=$(df $1 | awk 'NR==2{print $5}')
  local total=$(df $1 | awk 'NR==2{print $2}')
  echo "$total $usage"
}

该函数接受一个参数,该参数指定要获取磁盘使用率和空间信息的分区。函数将返回以空格分隔的总磁盘空间和磁盘使用率。

现在,我们可以使用以下命令调用该函数,以获取磁盘使用率和空间信息:

get_disk_usage /

输出结果示例:

31457280 7%

这表明,该命令在 “/” 分区上发现了 30 GB 的总磁盘空间,其中使用了 2.2 GB 的磁盘空间(使用率为 7%)。