Linux での lspci コマンドの 6 つの実際的な使用法

in tech

Linux デバイスでハードウェアの問題が発生していますか?それとも、端末コマンドを使用してどのような情報を収集できるかに興味があるだけでしょうか?これらを試してみるといいでしょう lspci コマンドの例。

lspci コマンド ライン アプリケーションは、PCI (Peripheral Component Interconnect) バス システムおよび PC のマザーボードに接続されているデバイスに関する情報を提供します。これには、GPU、イーサネット ポート、Wi-Fi カードなどのデバイスが含まれます。に精通している場合は、 ls コマンドを実行すると、コマンドの名前が「list PCI」であることがわかります。デバイスの内部システムに関する情報は、数回のキーストロークで入手できます。 lspci

すべての PCI デバイスをチェックする

lspci の最も基本的な使用例は、システムに接続されているすべての PCI デバイスのプリントアウトを取得することです。ただ走ってもいいよ lspci それだけで簡単な概要がわかります。

フラグのない lspci コマンドの出力を表示する Linux ターミナル。

すべてのエントリが最初にスロット アドレス、一連の数字、そして場合によってはデバイスに固有の文字とともに表示されることがわかります。クラス、ベンダー名、デバイス名もリストされています。サブシステムが存在する場合は、サブシステムのベンダー名とデバイス名も表示される場合があります。最後にはリビジョン番号 (「rev 04」など) と関連するプログラミング言語も表示される場合があります。

ここにリストされているデバイスは PCI デバイスであることに注意してください。これには USB コントローラーが含まれますが、USB 接続の周辺機器は含まれません。これらのコントローラーにどの USB デバイスが接続されているかを確認したい場合は、 lsusb 指示。

同様に、接続されたストレージ デバイスを直接操作しようとしている場合は、次のことを調べる必要があります。 lsblk 指示。

特定のデバイスを検索する

OK、何か特定のものを識別しようとしている場合、lspci の出力は目に見えて少し圧倒されるかもしれません。実証済みの実績によるサポートにより grep コマンドを使用すると、検索語によって特定のデバイスを検索できます。

たとえば、すべての USB コントローラを表示したいとします。次のコマンドを実行するだけです。

lspci | grep "USB"
USB 用語の grep フィルタリングにパイプされた lspci コマンドの出力を示す Linux ターミナル。

これにより、基本情報に USB が記載されていないすべての結果が除外されます。

ただし、検索用語は難しい場合があります。たとえば、グラフィックス カードのデバイス名のどこかに「グラフィックス」または「GPU」という単語が含まれている場合と、含まれていない場合があります。ただし、ラップトップで使用している統合 GPU の名前に Iris という単語が含まれていることはわかっているので、次のコマンドを実行できます。

lspci | grep "Iris"
Iris 用語の grep フィルタリングにパイプされた lspci コマンドの出力を示す Linux ターミナル。

ご覧のとおり、ラップトップで iGPU を見つけることができました。 Linux システムで正しくフィルタリングするには、試行錯誤が必要になる場合があります。お使いのデバイスに関連する可能性があるさまざまな用語を試してください。

開いた PC とそのコンポーネントの一部が表示されます。

Linux ターミナルからコンピュータのデバイスを一覧表示する方法

バラバラにするより簡単です。

デバイスに関する詳細情報を取得する

重要なデバイスを特定したとします。他のコマンドを使用してさらに詳しい情報を取得することもできますが、 lspci 詳細オプションを使用すると、それら自体についてかなりの情報を得ることができます。これは、Linux システムのトラブルシューティングを誰かが手伝ってくれる場合に特に役立ちます。この場合、使用中のデバイスについてできる限り知っておくと常に役に立ちます。

すべてのデバイスの詳細な読み取り値を取得するには、次のコマンドを実行します。 lspci-v フラグ、「verbose」の略:

lspci -v
-v フラグを指定した lspci コマンドの出力を表示する Linux ターミナル。

一部の情報を表示するには root が必要なので、試してみるとよいでしょう。 sudo lspci -v 許可があれば。それ以外の場合は表示されます access denied 特定の読み出しで。

lspci コマンドには実際にはさらに 2 つの詳細レベルがあり、次のように入力してアクセスできます。 -vv または -vvv。ただし、最終的には大量のテキストを解析することになります。開発者でない限り、これらの印刷物から役立つものはおそらく何も得られません。

デバイスがどのように動作するかを知りたい場合は、 lspciの出力は相互に関連しているため、 -t すべてを「ツリー」に整理するオプション。デフォルトでは、デバイス スロットのみが表示されますが、詳細度を高めると、名前も表示されます。

lspci -tv
lspci -tv コマンドの結果を含む Linux ターミナル。

デバイスが使用しているドライバーを確認する

PCI デバイスがどのドライバーを使用しているかを知ると役立つ場合があります。特にグラフィックス ドライバーは、インストールしたものが利用可能な最良のものではない場合があるため、Linux の世界では多くの議論の対象となっています。

幸いなことに、GPU またはその他のデバイスで使用されているドライバーは、 lspciの出力。ルートがなくても。たとえば、アドレスで私のラップトップ上の iGPU をすでに特定しました。 00:02.0。次のコマンドを実行すると、どのドライバーが使用されているかを確認できます。

lspci -ks 00:02.0
デバイスのカーネル ドライバーとモジュール情報を表示する Linux ターミナル。

-k flag はカーネル情報を取得しますが、やはり、 -s フラグが伝える lspci 特定のデバイスだけを後続のスロットに配置したい場合。

Linux ターミナル、中央の検索バー、虫眼鏡を持った Tux 。

本当に使うべき、見落とされている 11 の Linux コマンド

これらのコマンドにより、ワークフローが大幅に強化される可能性があります。

固有のデバイスコードを取得する

場合によっては、特定のデバイスに関する詳細情報を検索する必要があることがあります。 lspci では、単なるデバイス名よりも固有のベンダー コードとデバイス コードを提供できるため、オンラインで検索したり、専門的なサポートが必要なときにベンダーに提供したりできます。

あなたがしなければならないのは、 -nn フラグを使用して、ベンダー名、デバイス名、およびコードを取得します。たとえば、次のコマンドを使用して iGPU の情報を取得できます。

lspci -nns 00:02.0
-nns フラグを指定した lspci コマンドの出力を表示する Linux ターミナル。

取得した出力の最後に一連のコードが示されていることがわかります。 8086:a7a0。 8086 は Intel のベンダー コードで、a7a0 は私の PC にインストールされている統合グラフィックス デバイスの一意のコードです。これらのコードを Web 検索すると、詳細情報が見つかります。


Linux ターミナルには、驚くほど便利なコマンドがたくさんあります。の traceroute コマンドは、インターネット接続のトラブルシューティングと、 systemctl コマンドは、デバイス上で実行されているサービスをより適切に管理するのに役立ちます。

関連記事

前の投稿
Belkin の最新 USB-C ハブにはモニターのプライバシー ボタンが付いています
次の投稿
箱に記載されている速度に基づいてポータブル SSD を購入するのはやめてください。