【发布时间】:2014-04-07 23:09:03
【问题描述】:
我正在尝试编写一个脚本,该脚本将返回来自 /proc/cpuinfo、/proc/meminfo 和 /proc/version 文件的信息。
从 cpuinfo 文件中,我想返回 cpu Mhz 和型号名称。 我可以通过这些命令得到这些
more /proc/cpuinfo | grep "model name" | head -n 1
more /proc/cpuinfo | grep "cpu MHz"
对于 meminfo 文件,我想获取总内存、可用内存和已用总内存。我可以通过这些命令获得前 2 个:
more /proc/meminfo | grep MemTotal
more /proc/meminfo | grep MemFree
我可以用这个得到 linux 版本:
more /proc/version
然后我可以通过将第一个输出重定向到文件中将其保存为文件,然后使用>>而不是>附加下一个信息项。
我的问题是 - 我如何编写一个脚本来获取上面的信息并将其放入这种格式:
/proc/cpuinfo, Model name: (result of first command above)
/proc/cpuinfo, cpu Mhz: (result of 2nd)
/proc/meminfo, MemTotal: (result of 3rd)
/proc/meminfo, MemFree: (result of 4th)
/proc/meminfo, MemUsed: (calculate it based off memtotal and memfree)
/proc/version, Linux version #:
我知道如何使用 cut、awk 等,但不知道如何设置。我也不知道如何强制计算使用的内存。
如果您能提供任何帮助,我们将不胜感激。
编辑:我使用 more 因为我对 Linux 不太熟悉。
结合此处发布的内容和我需要提出的内容,我越来越接近我想要做的事情。
数学函数 - 我只想取 memtotal 并从中减去 memfree。
我可以创建一个变量,例如
memused=$(bc $memtotal - memfree)
然后回显出来?
【问题讨论】:
-
发布样本输入和预期输出。就我个人而言,我不知道这些文件可以包含什么,但我对 awk 有所了解,也许可以提供帮助。
-
你熟悉 Python 吗?如果是,我的文章:amitsaha.github.io/site/notes/articles/python_linux/… 可能会有所帮助。
-
将
more传递给grep 的理由绝对为零。无用的使用 cat 已经够糟糕了,但这是一个无用的使用 more!就做grep MemTotal /proc/meminfo