在 GUI 模式下查找笔记本电脑电池状态很容易。 您可以通过将鼠标指针悬停在任务/顶部栏中的电池指示器图标上轻松判断电池电量。 但是,从命令行怎么样? 不是每个人都知道这一点。 前几天我的一个朋友问如何在他的 Ubuntu 桌面上从终端检查他的笔记本电脑电池电量 – 因此这篇文章。 在这里,我提供了五种简单的方法,它们将帮助您在任何 Linux 发行版的终端中检查笔记本电脑的电池状态和电量。
从 Linux 中的命令行检查笔记本电脑电池状态和电量
我们可以通过多种方法从命令行中找到笔记本电脑的电池状态。 这里有几种方法。
方法 1 – 使用“Upower”命令
这 Upower
大多数 Linux 发行版都预装了命令。 要使用 Upower 显示电池状态,请打开终端并运行:
$ upower -i /org/freedesktop/UPower/devices/battery_BAT0
样本输出:
native-path: BAT0 vendor: Samsung SDI model: DELL 7XFJJA2 serial: 4448 power supply: yes updated: Tuesday 01 October 2019 12:50:41 PM IST (101 seconds ago) has history: yes has statistics: yes battery present: yes rechargeable: yes state: fully-charged warning-level: none energy: 33.4443 Wh energy-empty: 0 Wh energy-full: 33.4443 Wh energy-full-design: 48.84 Wh energy-rate: 0.0111 W voltage: 12.446 V percentage: 100% capacity: 68.4773% technology: lithium-ion icon-name: 'battery-full-charged-symbolic'
正如您在上面看到的,我的电池现在已充满电,电池电量为 100%。
如果上述命令由于任何原因不起作用,请尝试以下命令:
$ upower -i `upower -e | grep 'BAT'`
样本输出:
native-path: BAT0 vendor: Samsung SDI model: DELL 7XFJJA2 serial: 4448 power supply: yes updated: Tuesday 01 October 2019 12:54:41 PM IST (48 seconds ago) has history: yes has statistics: yes battery present: yes rechargeable: yes state: fully-charged warning-level: none energy: 33.4443 Wh energy-empty: 0 Wh energy-full: 33.4443 Wh energy-full-design: 48.84 Wh energy-rate: 0.0111 W voltage: 12.446 V percentage: 100% capacity: 68.4773% technology: lithium-ion icon-name: 'battery-full-charged-symbolic'
Upower 不仅显示电池状态,还显示已安装电池的完整详细信息,例如型号、供应商名称、序列号、状态、电压等。
您也可以仅通过组合显示电池状态 upower
和 grep
命令如下图所示。
$ upower -i $(upower -e | grep BAT) | grep --color=never -E "state|to full|to empty|percentage"
样本输出:
state: fully-charged percentage: 100
正如您在上面的输出中看到的,我的笔记本电脑电池已充满电。
有关更多详细信息,请参阅手册页。
$ man upower
方法 2 – 使用“acpi”命令
这 acpi 命令显示 Linux 发行版中的电池状态和其他 ACPI 信息。
您可能需要安装 acpi
某些 Linux 发行版中的命令。
在 Arch Linux 及其衍生产品上:
$ sudo pacman -S acpi
在 Debian、Ubuntu 及其衍生产品上安装 acpi:
$ sudo apt-get install acpi
在 RHEL、CentOS、 Fedora:
$ sudo yum install acpi
或者,
$ sudo dnf install acpi
安装 acpi 后,运行以下命令:
$ acpi -V
笔记: 这里, "V"
是大写字母。
样本输出:
Battery 0: Discharging, 98%, 01:43:14 remaining Battery 0: design capacity 4400 mAh, last full capacity 3013 mAh = 68% Battery 1: Discharging, 0%, rate information unavailable Adapter 0: off-line Thermal 0: ok, 60.5 degrees C Thermal 0: trip point 0 switches to mode critical at temperature 84.0 degrees C Cooling 0: Processor 0 of 3 Cooling 1: intel_powerclamp no state information available Cooling 2: Processor 0 of 3 Cooling 3: x86_pkg_temp no state information available Cooling 4: Processor 0 of 3 Cooling 5: LCD 0 of 15 Cooling 6: Processor 0 of 3
只检查电池的充电状态。 为此,请运行:
$ acpi
样本输出:
Battery 0: Discharging, 98%, 01:48:14 remaining Battery 1: Discharging, 0%, rate information unavailable
检查电池温度:
$ acpi -t
样本输出:
Thermal 0: ok, 58.5 degrees C
我们可以查看上面的输出 华氏度 使用 -f
旗帜:
$ acpi -t -f
样本输出:
Thermal 0: ok, 144.5 degrees F
想知道交流电源是否接通? 简单的! 只需运行以下命令:
$ acpi -a
样本输出:
Adapter 0: on-line
如果交流电源不可用,您将看到以下输出:
Adapter 0: off-line
有关更多详细信息,请查看手册页。
$ man acpi
方法 3:使用“cat”和“find”命令
这是我们的一位读者在评论部分提出的。
我们可以用 cat
和 find
命令以显示电池详细信息。
要仅知道电池容量,请运行:
$ cat /sys/class/power_supply/BAT0/capacity
样本输出:
89
在这里,我的电池电量为 89%。
有关电池的所有详细信息,命令将是:
$ find /sys/class/power_supply/BAT0/ -type f | xargs -tn1 cat
样本输出:
cat /sys/class/power_supply/BAT0/uevent POWER_SUPPLY_NAME=BAT0 POWER_SUPPLY_STATUS=Discharging POWER_SUPPLY_PRESENT=1 POWER_SUPPLY_TECHNOLOGY=Li-ion POWER_SUPPLY_CYCLE_COUNT=0 POWER_SUPPLY_VOLTAGE_MIN_DESIGN=11100000 POWER_SUPPLY_VOLTAGE_NOW=11646000 POWER_SUPPLY_CURRENT_NOW=1905000 POWER_SUPPLY_CHARGE_FULL_DESIGN=4400000 POWER_SUPPLY_CHARGE_FULL=3013000 POWER_SUPPLY_CHARGE_NOW=2696000 POWER_SUPPLY_CAPACITY=89 POWER_SUPPLY_CAPACITY_LEVEL=Normal POWER_SUPPLY_MODEL_NAME=DELL 7XFJJA2 POWER_SUPPLY_MANUFACTURER=Samsung SDI POWER_SUPPLY_SERIAL_NUMBER= 4448 cat /sys/class/power_supply/BAT0/charge_full_design 4400000 cat /sys/class/power_supply/BAT0/serial_number 4448 cat /sys/class/power_supply/BAT0/technology Li-ion cat /sys/class/power_supply/BAT0/current_now 1905000 cat /sys/class/power_supply/BAT0/charge_now 2696000 cat /sys/class/power_supply/BAT0/present 1 cat /sys/class/power_supply/BAT0/power/runtime_active_time 0 cat /sys/class/power_supply/BAT0/power/runtime_active_kids 0 cat /sys/class/power_supply/BAT0/power/runtime_usage 0 cat /sys/class/power_supply/BAT0/power/runtime_status unsupported cat /sys/class/power_supply/BAT0/power/autosuspend_delay_ms cat: /sys/class/power_supply/BAT0/power/autosuspend_delay_ms: Input/output error cat /sys/class/power_supply/BAT0/power/async disabled cat /sys/class/power_supply/BAT0/power/runtime_suspended_time 0 cat /sys/class/power_supply/BAT0/power/runtime_enabled disabled cat /sys/class/power_supply/BAT0/power/control auto cat /sys/class/power_supply/BAT0/manufacturer Samsung SDI cat /sys/class/power_supply/BAT0/type Battery cat /sys/class/power_supply/BAT0/charge_full 3013000 cat /sys/class/power_supply/BAT0/capacity 89 cat /sys/class/power_supply/BAT0/cycle_count 0 cat /sys/class/power_supply/BAT0/voltage_now 11646000 cat /sys/class/power_supply/BAT0/status Discharging cat /sys/class/power_supply/BAT0/alarm 0 cat /sys/class/power_supply/BAT0/model_name DELL 7XFJJA2 cat /sys/class/power_supply/BAT0/voltage_min_design 11100000 cat /sys/class/power_supply/BAT0/capacity_level Normal
方法四:使用“Batstat”程序
这 batstat 是一个基于 ncurses 的小型 CLI 实用程序,用于在类 Unix 系统中显示笔记本电脑的电池状态。 它将显示以下详细信息:
- 当前电池电量
- 当前能量
- 充满能量
- 从程序开始经过的时间,没有跟踪机器的睡眠时间。
- 电池电量历史
安装 batstat 是小菜一碟。
Git 使用命令克隆最新版本:
$ git clone https://github.com/Juve45/batstat.git
上述命令将拉取最新的 batstat 版本并将其内容保存在名为“batstat”的文件夹中。
cd 进入 batstat/bin/ 目录:
$ cd batstat/bin/
将“batstat”二进制文件复制到您的 小路, 为了 example /usr/local/bin/
.
$ sudo cp batstat /usr/local/bin/
使用命令使其可执行:
$ sudo chmod +x /usr/local/bin/batstat
最后,运行以下命令来查看您的电池状态。
$ batstat
样本输出:

正如您在上面的屏幕截图中看到的,我的电池处于充电模式。
不过,此实用程序有一些限制。 在编写本指南时,batstat 将仅支持一节电池。 而且,它仅从该文件夹收集信息 – "/sys/class/power_supply/"
. 如果您的机器在不同的文件夹中包含电池信息,则此程序将无法运行。
有关更多详细信息,请查看 batstat github 页面。
方法五:使用“battery-level-cli”程序
这 电池级cli 是另一个在 Linux 中显示电池电量的命令行实用程序。 与“batstat”程序不同,它只会显示电池电量。 它不会帮助您确定电池是否正在充电。 它写在 节点JS,因此请确保您的系统已安装 NodeJS。 如果没有安装nodejs,请参考以下内容了解如何安装。
- 如何在 Linux 上安装 NodeJS
安装 NodeJS 后,调整以下命令以安装“battery-level-cli”实用程序:
$ npm install --global battery-level-cli
现在,您可以使用命令查看电池电量:
$ battery-level 100%
有关更多详细信息,请查看项目的 GitHub 存储库:
结论
可能有许多命令和程序可以从 Linux 终端检查笔记本电脑的电池状态。 据我所知,上述给出的方法按预期工作得很好。 如果您知道一些其他命令/实用程序来查找电池状态,请在下面的评论部分告诉我。 我也会检查并添加它们。