Как получить информацию об оборудовании в Linux / Unix? - PullRequest
7 голосов
/ 13 ноября 2009

Как я могу получить информацию об оборудовании с компьютера Linux / Unix. Есть ли набор API?

Я пытаюсь получить информацию вроде:

  • Имя ОС.
  • версия ОС.
  • доступных сетевых адаптеров.
  • информация о сетевых адаптерах.
  • все установленное программное обеспечение.

Я ищу приложение, которое собирает эту информацию и показывает ее в хорошем формате. Я использовал нечто подобное с инструментом командной строки «system_profile» для Mac OS X. Интересно, доступно ли что-то подобное и для Linux.

Ответы [ 7 ]

15 голосов
/ 13 ноября 2009

Если вам нужен простой ответ, используйте:

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

и собирать любую необходимую вам информацию из вывода этих команд. (Примечание: команда cut может быть вашим другом здесь, если вы пишете сценарий оболочки.)

Если вам нужно больше подробностей, добавьте переключатель -v, чтобы получить подробный вывод команд lspci и lsusb.

Если то, что вы ищете, является более полнофункциональным API, то используйте HAL, хотя это может быть излишним для того, что вы пытаетесь построить.

8 голосов
/ 13 ноября 2009

Если вы ищете инструмент, отображающий системную информацию, вам может пригодиться инструмент с графическим интерфейсом, например HardInfo .

В Ubuntu вы можете установить HardInfo следующим образом ...

sudo apt-get install hardinfo

Приветствия

7 голосов
/ 13 ноября 2009

Есть команда bash lshw - список оборудования

2 голосов
/ 13 ноября 2009

Я бы использовал hal, уровень аппаратной абстракции. Он включает в себя как некоторые команды GUI, некоторые команды tty (которые можно использовать из программ оболочки), так и привязки библиотек для c и нескольких других языков.

HAL на самом деле не является стандартной частью «linux», но я думаю, что он используется большинством современных дистрибутивов.

1 голос
/ 05 января 2015

Попробуйте sudo lshw. Это самый простой.

0 голосов
/ 12 мая 2018

Вы можете использовать inxi , которые предоставляют всю информацию об оборудовании, включая температуру процессора и так далее.

Установка на ОС на базе Red Hat sudo dnf install inixi

Установка на ОС на основе Debian apt-get install inxi

0 голосов
/ 14 ноября 2009

Поскольку вы упомянули API, попробуйте семейство команд exec для C. Вы можете использовать их для выполнения этих двоичных файлов, которые упоминали другие люди. Чтобы создать надежное / гибкое решение, вам, вероятно, также придется использовать команды Unix fork (). Вам также нужно будет разработать механизм захвата выходных данных этих утилит. Посмотрите на трубы Unix для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...