Linux 是否有办法通过命令行获取以下统计数据,并以单个字符串作为响应?
我想知道正在使用的磁盘、内存和 CPU 的百分比。
$ command-to-get-CPU-percentage-usage
结果:30%
。只有这个字符串。没有总数,因为您可以使用$ top
使用 Ubuntu 20 & 22 LTS
答案1
像这样
echo 'CPU percentage usage result': $(top -bn1 | grep 'Cpu(s)' | sed 's/.*, *\([0-9.]*\)%* id.*/\1/')%"; Memory percentage usage result: $(free | awk '/Mem/{printf "%3.1f%%", $3/$2 * 100}'); Disk percentage usage result: $(df -h | awk '$NF=="/"{printf "%s", $5}')"
然后你可以将其放入你的 bashrc 中(例如 ~/.bashrc 或 ~/.bash_profile)
alias sysusage='echo 'CPU percentage usage result': $(top -bn1 | grep 'Cpu(s)' | sed 's/.*, *\([0-9.]*\)%* id.*/\1/')%"; Memory percentage usage result: $(free | awk '/Mem/{printf "%3.1f%%", $3/$2 * 100}'); Disk percentage usage result: $(df -h | awk '$NF=="/"{printf "%s", $5}')"'
重新加载你的 shell
source ~/.bashrc
现在您只需输入sysusage