如何从Linux / Unix机器获取硬件信息。 有一组API吗?
我正在尝试获取以下信息:
我正在寻找一个收集此信息并以漂亮格式显示的应用程序。 我使用了与Mac OS X的“system_profile”命令行工具类似的东西 我想知道Linux上是否也有类似的东西。
答案 0 :(得分:15)
如果您需要简单的答案,请使用:
cat /proc/cpuinfo
cat /proc/meminfo
lspci
lsusb
并从这些命令的输出中获取所需的任何信息。 (注意:如果您正在编写shell脚本,cut
命令可能是您的朋友。)
如果您需要更多详细信息,请添加-v
开关以获取lspci
和lsusb
命令的详细输出。
如果您正在寻找的是功能更完善的API,那么请使用HAL,尽管这可能对您正在尝试构建的内容造成过大的威胁。
答案 1 :(得分:8)
如果您正在寻找显示系统信息的工具,HardInfo等GUI工具对您有用。
在Ubuntu中,你可以像这样安装HardInfo ......
sudo apt-get install hardinfo
干杯
答案 2 :(得分:7)
有一个bash命令lshw - list hardware
答案 3 :(得分:2)
我会使用硬件抽象层hal
。它包括一些GUI命令,一些tty命令(可以从shell程序中使用),以及c和多种其他语言的库绑定。
HAL并不是“linux”的标准版本,但我认为它被大多数现代发行版所使用。
答案 4 :(得分:1)
试试sudo lshw
。
这是最简单的。
答案 5 :(得分:0)
由于您提到了API,请尝试使用C的exec系列命令。您可以使用它们执行其他人提到的这些二进制文件。要创建一个强大/灵活的解决方案,您可能还必须利用Unix fork()命令。您还必须开发一种机制来捕获这些实用程序所产生的输出。查看Unix管道。
答案 6 :(得分:0)
您可以使用inxi提供所有硬件信息,包括CPU温度等。
在基于Red Hat的操作系统上安装
sudo dnf install inixi
在基于Debian的操作系统上安装
apt-get install inxi