Просто используйте /sys
.
Пример. Я хочу найти драйвер для своей платы Ethernet:
$ sudo lspci
...
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
$ find /sys | grep drivers.*02:00
/sys/bus/pci/drivers/r8169/0000:02:00.0
Это r8169
.
Сначала я должен найти координаты использования устройства lspci
; затем я нахожу драйвер, который используется для устройств с этими координатами.
/proc
файловая система не реальна, это - представление во внутренние ядром данные, экспортируемые для сходства с файлами. Это существует в Linux и в Солярисе (от того, где идея бесстыдно воровалась), и возможно другие системы Unixy. Формат очень системно-зависим (и даже изменился существенно среди версий ядра Linux).
Действительно нет никакого промежуточного портативного способа узнать аппаратные данные (и не может быть, некоторые Нельды и двойники работают на довольно странном железе).
/proc файловая система центральна Linux, таким образом, ответ нет. Системы BSD используют sysctl для этого вида информации Что касается Windows, это не лучшая группа для выяснения, мне кажется.:)
/proc
и aSunOS sun4u sparc SUNW,Ultra-4
не имеет a/proc/scsi/scsi
– Niklas 07.03.2013, 00:10