在Linux下怎么确定哪个网卡对应哪个接口

方法一:查询eth对应驱动的话方法更简单:

root@uitnode2 ~ 0 # ls -l /sys/class/net/eth0/device/driver/module
lrwxrwxrwx 1 root root 0 Nov 17 20:28 /sys/class/net/eth0/device/driver/module -> ../../../../module/e1000
root@uitnode2 ~ 0 # readlink -f /sys/class/net/eth0/device/driver/module
/sys/module/e1000

sysfs虚拟文件系统下有很多链接, /sys/class/net/eth0 是一个目录,底下有一个device是符号链接,会指向 /sys/devices/ 下的一个真实设备,它所指向的目录下又有一个 driver 指向 /sys/module/ 下一个模块名,那就是所使用的驱动程序名。

不过sysfs在最近一系列内核中变化很大,我看到的是2.6.26.2内核,在旧版内核上不一定都有。

root@uitnode2 ~ 0 # uname -a
Linux uitnode2.uit 2.6.26 #2 SMP Tue Sep 2 02:06:17 HKT 2008 x86_64 x86_64 x86_64 GNU/Linux

方法二: dmesg 大法

最全面的要属dmesg了,基本上启动时每个设备的初始化信息都会记录在里面,所以,看这个就可以了。

另外就是
cat /proc/cpuinfo 这是看cpu的详细信息
cat /proc/meminfo 这是看内存的详细信息

不过,仍然达不到cpuz那么详细的程度,不过cpuz是专门干这个的,应该是从bios中获得的信息(或者根据cpu的型号事先统计出来的信息),只要将cpuz移植到linux,应该也具有这种能力了

方法三:ethtool
执行
# ethtool -p eth0

时,eth0对应的网口的灯就会闪烁,你可以分别调用ethtool判断eth1,eth2对应的网口;

注意要在不插网线的时候进行,否则看不出来是否因ethtool引起的闪烁;

原文地址:https://www.cnblogs.com/byne-mn/p/11685883.html