W świecie Linuksa dostęp do informacji o sprzęcie jest niezwykle prosty — wystarczy jedno polecenie. Jednym z najbardziej wszechstronnych narzędzi do tego celu jest lshw (ang. List Hardware), które potrafi wyciągnąć niemal wszystko: od modelu CPU po szczegóły magistrali i firmware.

Krótka historia
lshw powstało na początku lat 2000 jako odpowiedź na potrzebę uniwersalnego narzędzia do inwentaryzacji sprzętu. W przeciwieństwie do starszych poleceń jak lsusb czy lspci, które skupiają się na konkretnych podsystemach, lshw oferuje pełny, hierarchiczny widok całego systemu. Z czasem stało się standardowym narzędziem diagnostycznym w wielu dystrybucjach.
Podstawowe użycie
Najprostsze wywołanie:
sudo lshw
## przedstawi wiele szczegółów o Twoim sprzęcie w Linux
Zwraca bardzo szczegółowy, drzewiasty opis sprzętu. Dane są kompletne, ale często trudne do przeglądania.
Dlatego warto używać:
$ sudo lshw -short
H/W path Device Class Description
===================================================
system LeMaker Banana Pro
/0 bus Motherboard
/0/0 processor cpu
/0/1 processor cpu
/0/2 memory 960MiB System memory
/0/3 scsi0 storage
/0/3/0.0.0 /dev/sda volume 149GiB Hitachi HTS54321
/1 usb1 bus EHCI Host Controller
/2 usb2 bus EHCI Host Controller
/2/1 card1 multimedia webcamproduct
/3 usb3 bus Generic Platform OHCI controller
/4 usb4 bus Generic Platform OHCI controller
/5 mmc0 bus MMC Host
/5/1234 /dev/mmcblk0 disk 3904MB SA04G
/5/1234/1 /dev/mmcblk0p1 volume 3532MiB EXT4 volume
/6 mmc1 bus MMC Host
/6/1 generic SDIO Device
/6/1/1 mmc1:0001:1 network 43362
/6/1/2 mmc1:0001:2 generic 43362
/7 card0 multimedia sun4icodec
/8 input0 input axp20x-pek
/9 input1 input sunxi-ir
/a end0 network Ethernet interface
Daje to skróconą, czytelną tabelę urządzeń.
Filtrowanie informacji
Jedną z największych zalet lshw jest możliwość filtrowania:
$ sudo lshw -class cpu
*-cpu:0
description: CPU
product: cpu
physical id: 0
bus info: cpu@0
size: 960MHz
capacity: 960MHz
capabilities: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm cpufreq
*-cpu:1
description: CPU
product: cpu
physical id: 1
bus info: cpu@1
size: 960MHz
capacity: 960MHz
capabilities: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm cpufreq
$ sudo lshw -class memory
*-memory
description: System memory
physical id: 2
size: 960MiB
$ sudo lshw -class network
*-interface:0 DISABLED
description: Wireless interface
product: 43362
vendor: Broadcom
physical id: 1
bus info: mmc@1:0001:1
logical name: mmc1:0001:1
logical name: wlan0
serial: 98:0b:56:87:f1:1c
capabilities: ethernet physical wireless
configuration: broadcast=yes driver=brcmfmac driverversion=5.90.125.95 firmware=01-b30a427d multicast=yes wireless=IEEE 802.11
*-network
description: Ethernet interface
physical id: a
logical name: end0
serial: 12:19:56:33:24:92
size: 1Gbit/s
capacity: 1Gbit/s
capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=st_gmac driverversion=6.18.21-current-sunxi duplex=full ip=192.168.0.227 link=yes multicast=yes port=twisted pair speed=1Gbit/s
Dzięki temu możesz szybko sprawdzić tylko interesujący fragment systemu.
Formatowanie wyjścia
lshw potrafi generować dane w różnych formatach:
- HTML:
sudo lshw -html > raport.html
- JSON:
sudo lshw -json
To szczególnie przydatne przy automatyzacji i integracji z innymi narzędziami.
Ciekawe i praktyczne opcje
-sanitize– ukrywa wrażliwe dane (np. numery seryjne)-numeric– pokazuje identyfikatory sprzętowe-businfo– prezentuje powiązania z magistralami
Przykład:
$ sudo lshw -class disk -businfo
Bus info Device Class Description
=====================================================
/dev/mmcblk0 disk 3904MB SA04G
Świetnie sprawdza się przy analizie dysków i ich połączeń.
Dlaczego warto znać lshw?
Dla początkujących to szybki sposób na poznanie swojego sprzętu.
Dla zaawansowanych — narzędzie diagnostyczne i baza pod automatyzację.
W połączeniu z innymi poleceniami (dmesg, lsblk, lspci) lshw daje pełny obraz systemu — bez potrzeby instalowania ciężkich narzędzi GUI.
Jeśli jeszcze go nie używasz, warto dodać lshw do swojego zestawu podstawowych komend.