Když používáte Linux na desktopu nebo serveru, někdy potřebujete identifikovat hardware v tomto systému. Jeden příkaz, který se k tomu používá, je lspci
. Funguje tak, že zobrazuje všechna zařízení připojená ke sběrnici PCI. Je poskytován balíčkem pciutils a je dostupný pro širokou škálu operačních systémů založených na Linuxu a BSD.
Další zdroje pro Linux
- Cheat pro příkazy Linuxu
- Cheat sheet pro pokročilé příkazy systému Linux
- Bezplatný online kurz:Technický přehled RHEL
- Síťový cheat pro Linux
- Cheat sheet SELinux
- Cheat pro běžné příkazy pro Linux
- Co jsou kontejnery systému Linux?
- Naše nejnovější články o Linuxu
Základní použití
Informace zobrazené při spuštění lspci
běžnému uživateli mohou být omezeny kvůli přístupovým oprávněním. Spuštění příkazu pomocí sudo
poskytuje úplný obrázek.
Spuštění lspci
sám uvádí sběrnice PCI a k nim připojená zařízení. Zde je příklad z mého PC v centru médií. Je to systém založený na procesoru AMD Phenom, takže má čipovou sadu AMD. Má také bezdrátový ovladač Atheros a grafickou kartu Nvidia. Všechna hardwarová zařízení jsou uvedena s podrobnostmi, jako je prodejce, název a číslo modelu:
$ sudo lspci
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] RS880 Host Bridge
00:02.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780 PCI to PCI bridge (ext gfx port 0)
00:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 0)
00:05.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 1)
00:11.0 SATA controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:12.1 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0 USB OHCI1 Controller
00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:13.1 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0 USB OHCI1 Controller
00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 SMBus Controller (rev 3c)
00:14.1 IDE interface: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 IDE Controller
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 LPC host controller
00:14.4 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 PCI to PCI Bridge
00:14.5 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Address Map
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Link Control
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GK107 HDMI Audio Controller (rev a1)
02:00.0 Network controller: Qualcomm Atheros AR9287 Wireless Network Adapter (PCI-Express) (rev 01)
Podrobný výstup
Přidání -v
Tato možnost zvyšuje výřečnost nebo úroveň podrobností pro každé zařízení. Můžete použít -vv
nebo -vvv
pro ještě větší množství detailů zařízení. Na této úrovni lspci
zobrazuje různé podsystémy a adresy paměti, čísla požadavků na přerušení (IRQ) a další funkce pro všechna zařízení. Výstup je extrémně dlouhý. Vyzkoušejte to ve svém systému.
Vyhledávání pomocí grep
Někdy chcete zúžit vyhledávání. Například webová stránka RPM Fusion obsahuje pokyny pro instalaci grafických ovladačů Nvidia. Začínají identifikací grafické karty pomocí grep
příkaz. Toto mám na svém notebooku:
$ sudo lspci | grep -e VGA
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
$ sudo lspci | grep -e 3D
01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce MX130] (rev a2)
grep
výše uvedené příkazy zobrazují jedno zařízení VGA na mém počítači s centrem médií, ale žádné 3D zařízení.
$ sudo lspci | grep -e VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
$ sudo lspci | grep -e 3D
$
Vyhledávání podle ID dodavatele
Existuje další způsob, který nevyžaduje grep
. Předpokládejme, že chci zjistit, zda jsou přítomna nějaká další zařízení Nvidia. Je potřeba vědět trochu víc. Používám -nn
možnost zobrazení identifikačních čísel dodavatele a zařízení. Na mém počítači s centrem médií tato možnost zobrazuje moji kartu VGA, ID dodavatele a ID zařízení:
$ sudo lspci -nn | grep -e VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK107 [GeForce GTX 650] [10de:0fc6] (rev a1)
Sada závorek s čísly oddělenými dvojtečkou za názvem zařízení zobrazuje dodavatele a ID zařízení. Výstup udává, že ID dodavatele pro zařízení vyrobené společností Nvidia Corporation je 10de .
-d
zobrazí všechna zařízení od zadaného dodavatele, zařízení nebo ID třídy. Zde jsou všechna zařízení Nvidia v mém systému (zachování -nn
zahrnout ID dodavatele):
$ sudo lspci -nn -d 10de:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK107 [GeForce GTX 650] [10de:0fc6] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation GK107 HDMI Audio Controller [10de:0e1b] (rev a1)
Z výstupu je vidět, že kromě grafické karty mám audio zařízení Nvidia. Oba jsou ve skutečnosti součástí stejné Nvidia GeForce GTX 650 karta, ale přesto je to dobrý příklad.
Moduly jádra
Spolu s hardwarovými zařízeními PCI lspci
může ukázat, jaké moduly ovladače jádra jsou načteny pomocí -k
volba. Tuto možnost přidám do svého lspci
příkazy pro zobrazení několika informací o mých zařízeních Nvidia.
$ sudo lspci -nn -k -d 10de:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK107 [GeForce GTX 650] [10de:0fc6] (rev a1)
Subsystem: eVga.com. Corp. GK107 [GeForce GTX 650] [3842:2650]
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
01:00.1 Audio device [0403]: NVIDIA Corporation GK107 HDMI Audio Controller [10de:0e1b] (rev a1)
Subsystem: eVga.com. Corp. GK107 HDMI Audio Controller [3842:2650]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
Zobrazí se dva další řádky:Ovladač jádra se používá a moduly jádra . Druhý uvádí dostupné moduly pro podporu zařízení.
Udržování aktuální
Na trh neustále vstupují nová zařízení a prodejci. Pokud je zařízení uvedeno jako neznámé , může být vaše databáze ID zařízení PCI zastaralá. Existují dva způsoby kontroly. -Q
volba používá DNS k dotazu na centrální databázi. To samozřejmě vyžaduje připojení k síti.
$ sudo lspci -Q
Svou lokální databázi PCI ID můžete také aktualizovat spuštěním příkazu update-pciids
.
$ sudo update-pciids
Downloaded daily snapshot dated 2021-08-22 03:15:01
Další informace o vašem hardwaru
Samozřejmě, lspci
je pouze jedním z mnoha příkazů dostupných pro Linux, které jsou užitečné pro dotazování na hardware a software ve vašem systému. Další informace o hardwaru v systému Linux naleznete v mém článku týkajícím se zařízení USB:Rozpoznejte více zařízení v systému Linux pomocí tohoto úložiště USB ID.