You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux系统开机时电池百分比的查询与记录方法咨询

Linux系统开机时电池百分比的查询与记录方法咨询

嗨,针对你问的「想知道开机时的电池百分比,以及如何记录这个数据」的问题,我来给你梳理下可行的办法:

一、能不能查到历史开机时的电池百分比?

默认情况下,Linux系统并不会专门记录开机瞬间的电池电量数据,所以直接找现成的日志大概率找不到精确的数值。不过你可以试试碰碰运气,用系统日志工具搜索下电源相关的记录:
运行这条命令查看本次启动的日志里的电池相关内容:

journalctl -b 0 | grep -i battery

不过要做好心理准备,很多时候电源管理服务是在系统启动后才开始工作的,可能会错过开机那一瞬间的电池百分比数据,所以这个方法不一定能得到你想要的结果。

二、如何设置自动记录每次开机时的电池百分比?

如果想以后能随时查看每次开机时的电池状态,最靠谱的方式是自己写个小脚本,让它在开机时自动运行并记录数据,步骤很简单:

  1. 创建记录脚本
    先新建一个脚本文件,比如/usr/local/bin/log-battery-at-boot.sh,把下面的内容复制进去:
#!/bin/bash
# 用于记录开机时的电池百分比
LOG_FILE="/var/log/battery-boot.log"
# 获取当前时间,格式是年-月-日 时:分:秒
DATE=$(date "+%Y-%m-%d %H:%M:%S")
# 读取电池百分比,大多数设备的路径是/sys/class/power_supply/BAT0,少数是BAT1
BATTERY_PERCENT=$(cat /sys/class/power_supply/BAT0/capacity 2>/dev/null)

# 如果成功获取到电池数据,就写入日志;否则记录错误信息
if [ -n "$BATTERY_PERCENT" ]; then
    echo "$DATE - 开机时电池百分比: $BATTERY_PERCENT%" >> "$LOG_FILE"
else
    echo "$DATE - 无法获取电池信息,请检查电池设备路径" >> "$LOG_FILE"
fi
  1. 给脚本添加执行权限
    运行这条命令让脚本可以被执行:
sudo chmod +x /usr/local/bin/log-battery-at-boot.sh
  1. 设置开机自启
    用systemd来配置开机启动,新建一个服务文件/etc/systemd/system/battery-boot-log.service,内容如下:
[Unit]
Description=开机时记录电池百分比
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/log-battery-at-boot.sh

[Install]
WantedBy=multi-user.target
  1. 启用并启动服务
    运行下面两条命令,让这个服务开机自动运行:
sudo systemctl enable battery-boot-log.service
sudo systemctl start battery-boot-log.service

这样设置好之后,每次开机时脚本都会把当时的电池百分比写入/var/log/battery-boot.log日志文件里。之后你想查看的话,直接运行这条命令就能看到历史记录了:

cat /var/log/battery-boot.log

⚠️ 小提示:如果你的电池设备不是BAT0,可以先运行ls /sys/class/power_supply/查看实际的电池文件夹名称,然后修改脚本里的对应路径即可。

备注:内容来源于stack exchange,提问作者sandrino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 09:35:31