Lshw är ett Linux kommandoradsverktyg för att hitta information om den installerade hårdvaran på din dator/server. Lshw kan rapportera information om moderkort/moderkort, CPU, minne, disk, PCIE, USB och annan hårdvara.
Lshw är tillgänglig på alla Linux-distributioner där ute. Så du kan använda samma verktyg för att hitta den nödvändiga hårdvaruinformationen på varje Linux-distribution.
I den här artikeln kommer vi att visa dig hur du installerar lshw på populära Linux-distributioner och använder den för att hitta hårdvaruinformationen.
Ämne för innehåll:
- Installera Lshw på Ubuntu/Debian/Linux Mint/Kali Linux
- Installera Lshw på Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream
- Lista tillgänglig maskinvara med Lshw
- Filtrera Lshw-utgången med hårdvaruklass
- Hitta den detaljerade hårdvaruinformationen med Lshw
- Döljer känslig information från Lshw-utgången
- Visar numeriska ID:n för PCIe- och USB-enheter
- Ta bort de flyktiga tidsstämplarna från Lshw-utgången
- Exportera maskinvaruinformationen med Lshw
- Exempel 1: Hitta de installerade grafikprocessorerna på din dator/server med Lshw
- Exempel 2: Hitta kretsuppsättningen för nätverksenheterna/gränssnitten med Lshw
- Slutsats
- Referenser
Installera Lshw på Ubuntu/Debian/Linux Mint/Kali Linux
Lshw är tillgängligt i det officiella paketförrådet för Ubuntu/Debian/Linux Mint/Kali Linux. Så du kan enkelt installera det på din dator/server.
Uppdatera först APT-paketförvarets cache med följande kommando:
$ sudo passande uppdatering
För att installera lshw, kör följande kommando:
$ sudo benägen Installera -och etc
Lshw bör installeras på ditt Ubuntu/Debian/Linux Mint/Kali Linux-system.
Installera Lshw på Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream
Lshw är tillgängligt i det officiella paketförrådet för Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream. Så du kan enkelt installera det på din dator/server.
Uppdatera först DNF-paketförvarets cache med följande kommando:
$ sudo dnf makecache
För att installera lshw, kör följande kommando:
$ sudo dnf Installera etc
För att bekräfta installationen, tryck på 'Y' och tryck sedan på
Lshw bör installeras på ditt Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream-system.
Lista tillgänglig maskinvara med Lshw
Du kan lista all tillgänglig hårdvara på din dator/server med lshw enligt följande:
$ sudo etc -kort
All tillgänglig hårdvara på din dator/server bör listas i ett snyggt format.
Du hittar följande information här:
- H/W-bana : Detta är den fysiska sökvägen till hårdvaran som är installerad på din dator/server. Här är /0 moderkortet, /0/100 är processorn (ansluten till moderkortet), /0/100/
är hårdvaran som är ansluten till processorbanorna och så vidare. - Enhet : Detta är det kärntilldelade namnet/identifieraren för hårdvaran. Det vanligaste exemplet är enhetsnamnet/identifieraren för nätverksenheterna som enp38s0, enp39s0, etc.
- Klass : All hårdvara på din dator/server tillhör en viss grupp/klass. Till exempel är nätverksenheterna grupperade i nätverksklassen, lagringsenheterna grupperas i lagringsklassen och så vidare. Hårdvaruklassen kan användas till filtrera utdata från lshw .
- Beskrivning : Det är en kort beskrivning av respektive hårdvara.
Om du vill se bussinformationen för hårdvaran istället för hårdvarusökvägen (H/W-sökväg), kör kommandot lshw enligt följande:
$ sudo etc -bussinfo
Som du kan se visar den första kolumnen nu bussinformationen för hårdvaran istället för hårdvaruvägen.
Bussinformationen för olika hårdvara visar informationen i olika format:
- CPU : CPU:ernas buss-ID kommer att finnas i cpu@
, Till exempel har CPU cpu@0 (AMD Ryzen 9 3900X-processor i mitt fall) ID 0. På de flesta stationära datorer och bärbara datorer, du kommer bara att ha en processor och en CPU-post som är 'cpu@0'. - PCIE-enheter: Buss-ID för PCIE-enheterna kommer att finnas i pci@
: : . -numret kallas också för -nummer. Till exempel har PCIE-enheten pci@0000:26:00.0 (I211 gigabit nätverksenhet i vårt fall) domänen 0000, buss 26, kortplats/enhet 00 och funktion 0. ID-numren är hexadecimala och utfyllda med nollor. - SCSI-enheter : Buss-ID för SCSI-lagringsenheter kommer att finnas i scsi@
: . . , Till exempel är scsi@1:0.0.0 en SCSI/SATA-lagringsenhet som har styrenhet 1, mål 0, id 0, lun 0 och inga partitioner. Om SCSI/SATA-lagringsenheten har partitioner kommer buss-ID:t att vara scsi@1:0.0.0,1 för den första partitionen, scsi@1:0.0.0,2 för den andra partitionen, scsi@1:0.0.0 ,3 för den tredje partitionen och så vidare. - USB-enheter : Buss-ID för USB-lagringsenheter kommer att finnas i usb@
: . Till exempel är usb@3:6.3 en USB-enhet som har kontroller 3, kortplats 6 och id 3. Usb@3:1 är en USB-enhet som har kontroller 3 och kortplats 1.
Filtrera Lshw-utgången med hårdvaruklass
Lshw tilldelar en klass till varje hårdvaruenhet. Du kan filtrera utdata från kommandot 'lshw' för att endast inkludera vissa typer av hårdvara som använder dessa klassnamn.
De tillgängliga lshw-hårdvaruklasserna är:
- systemet : Systemets moderkort och PnP-enheter.
- bro : De interna bussenheterna som PCIE, värdbrygga, etc.
- minne : Minnesenheter som BIOS, RAM, ROM, CPU-cachar, firmware, etc.
- processor : Processorerna på din dator och SCSI RAID-kontroller.
- adress : Minnesadresserna för tilläggs-ROM och video.
- lagring : SCSI- och IDE-kontrollern.
- disk : De slumpmässiga lagringsenheterna som HDD, SSD, NVME SSD, CD-ROM, DVD, etc.
- volym : Partitionerna för din disk/lagringsenheter.
- tejp : De sekventiella lagringsenheterna som DAT, DDS, etc.
- buss : Enheten som ansluter buss som USB, SCSI, FireWire, etc.
- nätverk : Nätverksgränssnitt som Ethernet, WiFi, etc.
- visa : Displayenheterna som din GPU.
- inmatning : Inmatningsenheter som dina tangentbord, möss, HDMI/DP-portar, HD-ljudportar, strömbrytare, PC-högtalare, etc.
- skrivare : Utskriftsenheterna, dvs skrivaren.
- multimedia : Ljud- och videoenheter som grafikkort (GPU), ljudkort, TV-utgångskort etc.
- kommunikation : Kommunikationsenheter som Bluetooth.
- kraft : Energikällor som strömförsörjning (PSU), internt batteri, etc.
- generisk : De enheter som inte kan klassificeras.
Inte alla datorer/servrar kommer att ha alla klasser av hårdvara installerade. Så för att hitta de hårdvaruklasser som din dator/server har rekommenderar vi att du kör kommandot 'lshw' med alternativet '-short' eller '-businfo'.
$ sudo etc -kort$ sudo etc -bussinfo
För att filtrera utdata från kommandot 'lshw' för att endast visa specifika typer av hårdvara (dvs lagringsenheter), använd alternativet '-class' enligt följande:
$ sudo etc -bussinfo -klass disk
eller
$ sudo etc -kort -klass disk
Som du kan se listade lshw endast lagringsenheterna (2x 500GB Samsung 860 EVO SATA SSD) som är installerade på vår dator.
Du kan använda alternativet '-class' flera gånger för att visa flera typer av hårdvara samtidigt med kommandot 'lshw'.
Till exempel, för att visa lagringsenheterna såväl som diskpartitionerna med kommandot 'lshw', använd alternativet '-class' två gånger enligt följande:
$ sudo etc -bussinfo -klass disk -klass volym
eller
$ sudo etc -kort -klass disk -klass volym -klass
Som du kan se listade lshw lagringsenheterna såväl som partitionerna för dessa lagringsenheter.
Hitta den detaljerade hårdvaruinformationen med Lshw
För att hitta detaljerad information om specifika typer av hårdvara (dvs nätverk), kör lshw med alternativet '-class' enligt följande:
$ sudo etc -klass nätverk
Som du kan se skrivs en mycket detaljerad information om alla nätverksenheter som är installerade på vår dator ut.
Döljer känslig information från Lshw-utgången
Som standard skriver kommandot 'lshw' ut en känslig information (dvs. MAC-adressen för nätverksenheter) samtidigt som den detaljerade hårdvaruinformationen visas. Om du behöver dela hårdvaruinformationen med andra personer på internet för att få hjälp med att installera en drivrutin till exempel, kanske du vill dölja den känsliga informationen från lshw-utgången.
För att dölja den känsliga informationen från den detaljerade hårdvaruinformationen kan du använda alternativet '-sanitize' för kommandot 'lshw' enligt följande:
$ sudo etc -sanera -klass nätverk
Som du kan se tas MAC-adresserna och IP-adresserna bort från nätverksenheterna.
Visar numeriska ID:n för PCIe- och USB-enheter
Som standard visas inte numeriska ID:n för PCIe- och USB-enheterna i utgången av kommandot 'lshw'.
För att visa de numeriska ID:n för PCIe- och USB-enheterna i utgången av kommandot 'lshw', använd alternativet '-numeric' enligt följande:
$ sudo etc -numerisk -klass nätverk
eller
$ sudo etc -numerisk -klass buss
Som du kan se visas de numeriska ID:n för USB-enheterna i utgången av kommandot 'lshw'.
Ta bort de flyktiga tidsstämplarna från Lshw-utgången
Som standard skriver lshw ut de flyktiga tidsstämplarna (ändring av tidsdata) för diskvolymer och andra enheter. Om du inte vill se dessa tidsstämplar, kör kommandot 'lshw' med alternativet '-notime' enligt följande:
$ sudo etc -ingen tid -klass volym
Som du kan se tas den monterade tidsstämpeldatan bort från lshw-utgången där alternativet '-notime' används.
Exportera maskinvaruinformationen med Lshw
Du kan exportera lshw-hårdvaruinformationen i olika format. När detta skrivs kan lshw exportera hårdvaruinformationen i följande format:
- SQLite databas
- HTML
- XML
- JSON
För att exportera lshw-hårdvaruinformationen till en SQLite-databasfil, kör följande kommando:
$ sudo etc -dumpa ~ / data / lshw.db &>/ dev / null
Som du kan se skapas 'lshw.db' SQLite-databasfilen.
$ ls -lh ~ / data
Du kan läsa databasfilen 'lshw.db' med SQLite och skriva ut alla databastabeller enligt följande:
$ sudo sqlite3 ~ / data / lshw.db --linje '.tabeller'
Du kan skriva ut information om nätverksenheterna från filen 'lshw.db' med följande SQLite-kommando:
$ sudo sqlite3 ~ / data / lshw.db --linje 'VÄLJ * FRÅN noder WHERE klass LIKE 'nätverk''
För att exportera lshw-hårdvaruinformationen till en HTML-fil, kör följande kommando:
$ sudo etc -html > ~ / data / lshw.html
Om du också vill rensa/dölja en känslig information, kör kommandot lshw HTML export enligt följande:
$ sudo etc -sanera -html > ~ / data / lshw.html
Som du kan se exporteras lshw-hårdvaruinformationen till en 'lshw.html' HTML-fil.
$ ls -lh ~ / data
Du kan öppna filen 'lshw.html' med din favoritwebbläsare.
$ firefox ~ / data / lshw.html
Vi öppnade filen 'lshw.html' med webbläsaren Mozilla Firefox och maskinvaruinformationen visas som du kan se i följande skärmdump:
För att exportera lshw-hårdvaruinformationen till en XML-fil, kör följande kommando:
$ sudo etc -xml > ~ / data / lshw.xml
Om du också vill rensa/dölja en känslig information, kör kommandot lshw XML export enligt följande:
$ sudo etc -sanera -xml > ~ / data / lshw.xml
Som du kan se exporteras lshw-hårdvaruinformationen till en 'lshw.xml' XML-fil.
$ ls -lh ~ / data
Vi öppnade filen 'lshw.xml' med Vim-textredigeraren och lshw-hårdvaruinformationen visas i XML-format som du kan se i följande skärmdump:
$ därför att ~ / data / lshw.xml
För att exportera lshw-hårdvaruinformationen till en JSON-fil, kör följande kommando:
$ sudo etc -json > ~ / data / lshw.json
Om du också vill sanera/dölja en känslig information, kör kommandot lshw JSON export enligt följande:
$ sudo etc -sanera -json > ~ / data / lshw.json
Som du kan se exporteras lshw-hårdvaruinformationen till en 'lshw.json' JSON-fil.
$ ls -lh ~ / data
Vi öppnade filen 'lshw.json' med Vim-textredigeraren och lshw-hårdvaruinformationen visas i JSON-format som du kan se i följande skärmdump:
$ därför att ~ / data / lshw.json
Alternativen lshw -sanitize, -numeric och -notime fungerar för export av lshw HTML, XML och JSON, inte för SQLite-export. För mer information om dessa alternativ, läs de tidigare avsnitten i den här artikeln.
Exempel 1: Hitta de installerade grafikprocessorerna på din dator/server med Lshw
Efter att ha installerat ett nytt operativsystem på din dator/server är en av de viktigaste sakerna att göra att hitta den GPU (grafikkort/processor) som du installerade på din dator/server och installera lämplig drivrutin för den.
Du kan hitta grafikprocessorerna som du installerade på din dator/server med följande 'lshw'-kommando:
$ sudo etc -klass visa
Som du kan se har vi en NVIDIA GeForce RTX 4070 installerad på vår dator [1] . Den använder de officiella NVIDIA-drivrutinerna (som vi installerade den) [2] . Om du har en NVIDIA GPU installerad på din dator/server, men de officiella NVIDIA-drivrutinerna inte är installerade, kommer du att se 'driver=nouveau' istället. I så fall måste du installera de officiella NVIDIA-drivrutinerna på din dator/server för att kunna använda alla funktioner och få bästa prestanda från din GPU.
Exempel 2: Hitta kretsuppsättningen för nätverksenheterna/gränssnitten med Lshw
Att installera rätt nätverksdrivrutin är också en viktig del av en ny Linux-installation. Om inte rätt nätverksdrivrutiner är installerade kanske dina nätverksenheter inte fungerar eller fungerar med begränsad funktionalitet (kan resultera i mycket dålig nätverksprestanda). För att kunna installera rätt nätverksdrivrutiner måste du känna till dina nätverksenheters chipset.
För att hitta chipset och annan information om nätverksenheterna som är installerade på din dator/server, kör kommandot 'lshw' enligt följande:
$ sudo etc -klass nätverk
Som du kan se har vi två ethernet-enheter installerade på vår dator.
En av dem är ett Intel I211 Gigabit nätverksgränssnitt [1] . Linuxkärnan gav den ett logiskt namn som enp38s0 [2] . Som du kan se använder den Intel igb-kretsuppsättningen (drivrutin=igb) [3] . Så för att få det här nätverksgränssnittet att fungera måste du installera Intel igb-drivrutinen/firmware på din dator/server (om den inte redan är installerad).
Den andra är ett Realtek RTL8125 2,5 GbE nätverksgränssnitt [4] . Linuxkärnan gav den ett logiskt namn som enp39s0 [5] . Som du kan se använder den Realtek r8169-chipset (drivrutin=r8169) [6] . Så för att få det här nätverksgränssnittet att fungera måste du installera Realtek r8169-drivrutinen/firmware på din dator/server (om den inte redan är installerad).
Vi har även en USB ethernet-enhet och en WiFi-adapter ansluten till vår dator.
USB 10/100 mbps LAN-nätverksgränssnitt [1] har det logiska namnet enp42s0f3u6u3 [2] . Som du kan se använder den Realtek r8152-chipset (drivrutin=r8152) [6] . Så för att få det här nätverksgränssnittet att fungera måste du installera Realtek r8152-drivrutinen/firmware på din dator/server (om den inte redan är installerad).
WiFi 802.11n-nätverksgränssnittet[4] har det logiska namnet wlp42s0f3u1[5]. Som du kan se använder den MediaTek mt7601u-chipset (drivrutin=mt7601u) [6] . Så för att få det här nätverksgränssnittet att fungera måste du installera MediaTek mt7601u drivrutin/firmware på din dator/server (om den inte redan är installerad).
Slutsats
Detta är en omfattande guide om lshw. I den här artikeln visade vi dig hur du installerar lshw på populära Linux-distributioner (dvs Ubuntu, Debian, Linux Mint, Kali Linux, Fedora, RHEL, AlmaLinux, Rocky Linux, CentOS Stream). Vi visade dig också hur du listar hårdvaran på din dator, filtrerar utdata från lshw för att visa vissa typer av hårdvara och döljer en känslig hårdvaruinformation från lshw-utdata. Vi visade dig hur du visar det numeriska ID:t för PCIE- och USB-enheter samt tar bort de flyktiga tidsstämplarna från lshw-utgången. Vi visade dig också hur du exporterar lshw-hårdvaruinformationen i SQLite-databasen, HTML, XML och JSON-format och läser dem. Slutligen visade vi dig hur du hittar GPU och nätverksenheter som du installerade på din dator och chipset som nätverksenheterna använder med lshw för att hjälpa dig med rätt drivrutin/firmwareinstallation.