开发者

How do I get hardware information on Linux/Unix?

How I can get hardware information from a Linux / Unix machine. Is there a set of APIs?

I am trying to get information like:

  • OS name.
  • OS version.
  • available network adapters.
  • information on network adapters.
  • all the installed software.

I am looking for an application which collects this information and show it in a nice format. I have used something 开发者_如何学Gosimilar with the "system_profile" command line tool for Mac OS X. I was wondering if something similar is available for Linux as well.


If you need a simple answer, use:

  • cat /proc/cpuinfo
  • cat /proc/meminfo
  • lspci
  • lsusb

and harvest any info you need from the output of these commands. (Note: the cut command may be your friend here if you are writing a shell script.)

Should you need more detail, add a -v switch to get verbose output from the lspci and lsusb commands.

If what you are looking for is a more feature-complete API, then use HAL, though that may be an overkill for what you are trying to build.


If you are looking for a tool that show System Information, the GUI tool like HardInfo would useful for you.

In Ubuntu, you can install HardInfo like this...

sudo apt-get install hardinfo

Cheers


There is a bash command lshw - list hardware


I would use hal, the hardware abstraction layer. It includes both some GUI commands, some tty commands (which can be used from shell programs), and library bindings for c and multiple other languages.

HAL is not really a standard part of "linux", but I think it is used by most modern distros.


Try sudo lshw. It's the easiest.


Since you mentioned API, try the exec family of commands for C. You can use them to execute these binaries that other people have mentioned. To create a robust/flexible solution you will probably also have to leverage the Unix fork() commands. You will also have to develop a mechanism for capturing the output spewed by these utilities. Look into Unix pipes for that.


You can use inxi which provide all hardware information including cpu temperature and so on.

Install on Red Hat based OS sudo dnf install inixi

Install on Debian based OS apt-get install inxi

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜