专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

lspci命令详解(lspci工具原理介绍)

来源:小易整编  作者:小易  发布时间:2023-02-07 08:11
摘要:lspci命令详解(lspci工具原理介绍)lspci命令说明:lspci是一个用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具lspci参数:-v使得lspci以冗余模式显示所有设备的详细信息。-vv使得lspci以过冗余...

lspci命令详解(lspci工具原理介绍)

lspci命令说明:

lspci 是一个用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具

lspci命令详解(lspci工具原理介绍)~noop

lspci参数:

-v 使得 lspci 以冗余模式显示所有设备的详细信息。

-vv 使得 lspci 以过冗余模式显示更详细的信息 (事实上是 PCI 设备能给出的所有东西)。这些数据的确切意义没有在此手册页中解释,如果你想知道更多,请参照 /usr/include/linux/pci.h 或者 PCI 规范。

-n 以数字形式显示 PCI 生产厂商和设备号,而不是在 PCI ID 数据库中查找它们。 

-x 以十六进制显示 PCI 配置空间 (configuration space) 的前64个字节映像 (标准头部信息)。此参数对调试驱动和 lspci 本身很有用。 

-xxx 以十六进制显示所有 PCI 配置空间的映像。此选项只有 root 可用,并且很多 PCI 设备在你试图读取配置空间的未定义部分时会崩溃 (此操作可能不违反PCI标准,但是它至少非常愚蠢)。 

-b 以总线为中心进行查看。显示所有 IRQ 号和记忆体地址,就像 PCI 总线上的卡看到的一样,而不是核心看到的内容。 

-t 以树形方式显示包含所有总线、桥、设备和它们的连接的图表。 

-s [[<bus>]:][<slot>][.[<func>]] 仅显示指定总线、插槽上的设备或设备上的功能块信息。设备地址的任何部分都可以忽略,或以「*」代替 (意味著所有值)。所有数字都是十六进制。例如:「0:」指的是在0号总线上的所有设备;「0」指的是在任意总线上0号设备的所有功能块;「0.3」选择 了所有总线上0号设备的第三个功能块;「.4」则是只列出每一设备上的第四个功能块。 

-d [<vendor>]:[<device>] 只显示指定生产厂商和设备 ID 的设备。 这两个 ID 都以十六进制表示,可以忽略或者以「*」代替 (意味著所有值)。 

-i <file> 使用 <file> 作为 PCI ID 数据库而不是使用预设的 /usr/share/hwdata/pci.ids。 

-p <dir> 使用 <dir> 作为包含 PCI 总线信息的目录而不是使用预设的目录 /proc/bus/pci。 

-m 以机器可读的方式转储 PCI 设备数据 (支持两种模式:普通和冗余),便於稿本解析。 

-M 使用总线映射模式,这种模式对总线进行全面地扫描以查明总线上的所有设备,包括配置错误的桥之后的设备。请注意,此操作只应在调试时使 用,并可能造成系统崩溃 (只在设备有错误的时候,但是不幸的是它们存在),此命令只有 root 可以使用。同时,在不直接接触硬体的 PCI 访问模式中使用 -M 参数没有意义,因为显示的结果 (排除 lspci 中的 bug 的影响) 与普通的列表模式相同。 

--version 

显示 lspci 的版本。这个选项应当单独使用。 

PCILIB 选项 PCILIB OPTIONS 

PCI 工具使用 PCILIB (一种可移植的库,提供平台独立的函数来访问 PCI 配置空间)来和PCI卡交互。下面的选项用来控制库参数,特别是所用访问模式的指定。预设情况下,PCILIB 使用第一种可用的访问模式,不会显示任何调试信息。每一个开关选项都列出了一组它所支持的硬件/软软件列表。 

-P <dir> 使用 linux 2.1 风格的配置,直接访问目录 <dir> 而非 /proc/bus/pci 目录。(只能在linux 2.1或以上版本中使用) -H1 通过 Intel 架构 1 来实现直接硬体访问。(只能用於 i386 及其相容机) 

-H2 通过Intel 架构2来实现直接硬体访问。警告:此模式只能寻址任何总线上的前16个设备,并且在很多情况下相当不可靠。(只能用於 i386 及其相容机) 

-S 使用 PCI 系统调用访问。(只能用於 Alpha 和 Ultra-Sparc 上的 Linux) 

-F <file> 从所给的包含 lspci -x命令输出的档案中获取相关信息。这在分析使用者提交的错误报告时很有用,因为你可以用任何方式来显示硬体配置信息而无需为了获取更多信息打扰使用者。(可用於所有系统) 

-G 增加库的调试等级。(可用於所有系统)

lspci实例:

 实例一:不必加上任何选项,就能够显示出目前的硬件配备

View Code

实例二:查看一般详细信息

View Code

实例三:查看网卡详细信息

View Code

附录:

附录1:为了能使用这个命令所有功能,你需要有 linux 2.1.82 或以上版本,支持 /proc/bus/pci 接口的核心。在旧版本核心中,PCI工具必须使用只有root才能执行的直接硬体访问,而且总是出现竞争状况以及其他问题。
如果你要报告 PCI 设备驱动中,或者是 lspci 自身的 bugs,请在报告中包含 “lspci -vvx” 的输出。

附录2:找不到命令解决方法

yum install pciutils

附录3:lspci用到的文件
/usr/share/hwdata/pci.ids:所有已知 PCI ID 的清单 (厂商,设备名,类,子类)
/proc/bus/pci:linux 2.1.82 之后版本核心提供的 PCI 总线配置空间的接口。包含每个总线 (per-bus) 的子目录以及每个设备卡 (per-card) 的配置空间档案,还有一个 devices 档案,包含所有PCI设备的列表


本文地址:IT问答频道 https://www.hkm168.com/itwenda/903049.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


IT问答
小编:小易整编
相关文章相关阅读
  • 什么是Linux系统中nc命令?nc命令的用法详解

    什么是Linux系统中nc命令?nc命令的用法详解

    这篇文章主要介绍了linux系统中nc命令的基本用法,nc命令非常之强大,这里先简单介绍它用来作端口扫描以及文件传输等的基础使用。功能说明:功能强大的网络工具,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小...

  • cmd命令怎么打开?

    cmd命令怎么打开?

    cmd命令的打开方法:1、在电脑桌面中使用“win+r”组合键,打开的“运行”窗口,输入“cmd”命令并回车即可打开;2、打开“开始”菜单,在搜索框中输入“cmd”,点击“cmd.exe”即可打开。CMD一般指命令提示符,命令提示符是在操作...

  • 浅析Vue项目中怎么用Pinia状态管理工具

    浅析Vue项目中怎么用Pinia状态管理工具

    vue项目中怎么用pinia状态管理工具?下面本篇文章带大家聊聊vue项目中pinia状态管理工具的使用,希望对大家有所帮助!Pinia官网介绍说:Pinia是Vue的存储库,它允许您跨组件/页面共享状态。Vuex同样可以作为状态管理...

  • linux命令ls是什么意思

    linux命令ls是什么意思

    在linux中,ls全称“list”,中文意思为“列表”,其主要功能是显示指定工作目录下的内容(列出工作目录所含之文件及子目录),也可以查看文件权限,语法“ls[选项]目录名称”。当ls命令不使用任何选项时,默认只会显示非隐藏文件的名称...

  • Vue-cli脚手架工具使用及项目配置说明

    Vue-cli脚手架工具使用及项目配置说明

    vue-cli脚手架工具使用及项目配置说明随着前端技术的不断发展,前端框架也越来越受到开发者的关注。Vue.js作为前端框架的佼佼者,已经被广泛应用于各种Web应用的开发中。Vue-cli是Vue.js官方提供的一个基于命令行的脚...

  • asp开发工具有哪些

    asp开发工具有哪些

    asp开发工具有visualstudio、dreamweaver、frontpage、editplus、ultraedit、sqlservermanagementstudio、radstudio、delphi、asp.net和or...

  • linux 命令mkdir执行什么

    linux 命令mkdir执行什么

    linux命令mkdir执行创建目录,该命令是创建由dirname命名的目录,如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。本教程操作环境:...

  • linux中nginx重启命令有哪些

    linux中nginx重启命令有哪些

    linux中nginx重启命令有:1、使用service命令,“servicenginxrestart”;2、使用systemctl命令,“systemctlrestartnginx”。在Linux系统中,Nginx是一种常用的We...

  • 周排行
  • 月排行
  • 年排行

精彩推荐