linux以太网驱动程序产品ID,设备ID和地址

时间:2015-07-15 17:48:48

标签: python linux bash awk ethernet

在linux平台上,我需要找到一个名为cli的接口的product_id,vendor_id和地址。我正在使用以下命令来查找它:

# to find addr:
pci_interface_addr0=$(ethtool -i $eth0 | grep -i bus-info | tail -c 8)

# to find ids:
complete_id=$(lspci -nvv | grep $pci_interface_addr0 | awk '{print $3}')
vendor_id=$(echo $complete_id | cut -d \: -f 1)
product_id=$(echo $complete_id | cut -d \: -f 2)

有更好的方法吗?因为我有像上面的尾部-c 8这样的硬编码值。

这可以在python中完成吗?由于父程序主要是python模块。

欣赏任何好的投入!

1 个答案:

答案 0 :(得分:1)

  

有更好的方法吗?

我会利用通常位于java.lang.NoSuchMethodError: org.apache.fop.apps.FopFactory.newInstance的{​​{1}}文件系统。例如,在我的系统上给定接口名称sysfs,我可以在以下位置找到供应商:

/sys

产品ID:

enp0s25

同一目录中的$ cat /sys/class/net/enp0s25/device/vendor 0x8086 文件包含可以轻松获取到shell脚本的表单中的此信息:

$ cat /sys/class/net/enp0s25/device/device 
0x1502