📜  如何在 linux 中读取温度 - Shell-Bash (1)

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

如何在 Linux 中读取温度 - Shell-Bash

如果你使用 Linux,你可能想知道如何读取你的计算机温度。这是一个非常有用的功能,因为你可以了解你的计算机是否超过了安全温度范围。在本文中,我们将介绍如何在 Linux 中使用 Shell-Bash 读取温度。

1. 使用 sensors 命令

sensors 命令是一个非常有用的命令,它通常包含在 lm-sensors 软件包中。如果你还没有安装这个软件包,你可以使用以下命令在终端中安装:

sudo apt-get install lm-sensors

安装完成后,你可以运行 sensors 命令,在命令行中显示计算机的所有温度。要运行此命令,请在终端中输入以下命令:

sensors

输出结果将包含您计算机中各个传感器的温度。例如:

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +39.0°C  (high = +100.0°C, crit = +100.0°C)
Core 1:       +38.0°C  (high = +100.0°C, crit = +100.0°C)
2. 使用 cat 命令

在某些情况下,如果您只需要检索特定传感器的温度,则可以使用 cat 命令。要查看特定传感器的温度,请使用以下命令:

cat /sys/class/thermal/thermal_zone0/temp

这将显示以毫秒为单位的传感器温度。要将其转换为摄氏度,请将其除以 1000,例如:

echo "$(cat /sys/class/thermal/thermal_zone0/temp) / 1000" | bc

这将显示传感器的温度。

3. 脚本化

如果您需要监控计算机的温度并在超过安全界限时发出警报,则最好使用脚本。以下是一个示例脚本,该脚本将监视传感器温度并在超过指定阈值时打印消息:

#!/bin/bash

temp=$(sensors | grep Core | awk '{print $3}' | sed 's/([^)]*)//g' | sed 's/+//g' | tail -n 1 | sed 's/[^0-9]*//g')

if [ $temp -gt 80 ]
then
    echo "Warning: Temperature is above 80°C!"
fi

这个脚本使用 sensors 命令来检索所有核心的温度,并选择最后一个核心的温度。如果这个温度高于 80°C,则会打印警告消息。

结论

在 Linux 中读取温度是一项非常有用的功能,特别是当你想检查你的计算机是否超过安全温度。在本文中,我们已经介绍了几种不同的方法来读取计算机的温度。无论您选择哪种方法,我们都希望这些技术对您有所帮助。