Linux lspci コマンド

Linux コマンド大全


lspci コマンドとは

lspciは、Linux システムで、すべての PCI デバイス情報を一覧表示するための実用的なツールコマンドです。PCI(Peripheral Component Interconnect)は、マザーボードとさまざまなハードウェアデバイスを接続するためのコンピュータバス規格です。

このlspciコマンドを使用することで、システム管理者と開発者は以下のことができます:

  • システムにインストールされているすべての PCI デバイスを表示する
  • ベンダー ID、デバイス ID などを含むデバイスの詳細情報を取得する
  • ハードウェアの互換性の問題を診断する
  • ドライバーが正しくロードされているかを確認する

基本構文

lspciコマンドの基本構文は以下の通りです:

lspci [选项]

オプションを何も指定しない場合は、lspciシステム内のすべての PCI デバイスの簡易情報リストが表示されます。


よく使うオプションと引数

詳細情報を表示する

例

lspci -v      # 詳細情報を表示する(verbose)
lspci -vv     # より詳細な情報を表示する(very verbose)
lspci -vvv    # 最も詳細な情報を表示する(very very verbose)

特定デバイスの照会

例

lspci -s <バス>:<デバイス>.<ファンクション>  # 特定のデバイス情報を表示する

例えば:

例

lspci -s 00:02.0  # バス00、デバイス02、ファンクション0のデバイスを表示する

その他のよく使うオプション

例

lspci -n      # ベンダーIDとデバイスIDを数値形式で表示する
lspci -nn     # 数値IDとデバイス名を同時に表示する
lspci -k      # カーネルドライバーモジュール情報を表示する
lspci -t      # ツリー図でデバイスの階層構造を表示する
lspci -mm     # 機械可読形式で出力する
lspci -D      # 完全なドメイン名(ドメイン番号を含む)を表示する

出力の解釈

典型的なlspci出力は以下の通りです:

00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.2 USB controller: Intel Corporation 82371AB/EB/MB PIIX4 USB (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:0f.0 VGA compatible controller: VMware SVGA II Adapter
00:10.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01)
00:11.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)
00:12.0 Multimedia audio controller: Ensoniq ES1371/ES1373 / Creative Labs CT2518 (rev 02)

出力形式の説明:

  • 最初の部分:00:00.0はデバイスアドレスで、形式はバス:デバイス.機能
  • 2番目の部分:デバイスタイプ。例:「Host bridge」「VGA compatible controller」など
  • 3番目の部分:デバイスのベンダーと具体的なモデル

実際の応用例

例1:すべてのPCIデバイスの基本情報を表示する

例

lspci

例2:グラフィックカードの詳細情報を表示する

例

lspci -v | grep -i vga -A 12

例3:USBコントローラーとそのドライバー情報を表示する

例

lspci -v -k | grep -i usb -A 3

例4:ツリー構造でPCIデバイスを表示する

例

lspci -t

出力例:

-[0000:00]-+-00.0
           +-01.0
           +-07.0
           +-07.1
           +-07.2
           +-07.3
           +-0f.0
           +-10.0
           +-11.0
           \-12.0

よくある問題の解決

1. コマンドが見つからない場合

システムに次のメッセージが表示された場合lspci: command not found、インストールが必要なpciutilsパッケージ:

例

# Debian/Ubuntu
sudo apt-get install pciutils

# CentOS/RHEL
sudo yum install pciutils

2. 権限が不足している場合

一般ユーザーがlspciを実行する場合、完全な情報を取得できない場合があります。その場合は sudo を使用できます。sudo:

例

sudo lspci -v

3. デバイス認識の問題

一部のデバイスが認識されない場合は、PCI ID データベースの更新を試みてください:

例

sudo update-pciids

上級テクニック

1. grep と組み合わせて特定デバイスをフィルタリングする

例

lspci | grep -i ethernet  # ネットワークカードを検索する
lspci | grep -i audio     # サウンドカードを検索する

2. デバイス情報をファイルにエクスポートする

例

lspci -vvv > pci_info.txt

3. デバイスの完全なコンフィギュレーション空間を表示する

例

lspci -xxxx  # コンフィギュレーション空間を16進数で表示する

まとめ

lspciは、Linux システムで PCI デバイス情報を診断・確認するための重要なツールです。この記事の学習を通じて、以下のことができるようになります:

  1. 理解することlspciコマンドの基本的な使い方とよく使うオプション
  2. 解釈することlspciの出力情報
  3. 使用することlspciよくあるハードウェア認識の問題を解決すること
  4. いくつかの高度な使用テクニックを習得すること

システム管理者や開発者にとって、熟練したlspciコマンドの使用は、ハードウェア関連の問題を迅速に特定するのに役立ち、Linux システム保守の重要なスキルの一つです。

Linux コマンド大全

その他の拡張