我目前正在编写一个脚本,需要检查无线接口是外部的还是内部的。因此,我有以下 iwconfig 输出:
wlp2s0 unassociated Nickname:"<WIFI@REALTEK>"
Mode:Managed Frequency=2.437 GHz Access Point: Not-Associated
Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management:off
wlx00e1b010ea1f IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=off
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:off
我知道 wlp2s0 是我的内部无线网卡,wlx00e1b010ea1f 是我的外部无线适配器。因此脚本应该打印以下结果:
wlp2s0 -> Internal
wlx00e1b010ea1f -> External
PS:我可以使用以下命令确定此类信息:
>nmcli -f GENERAL,WIFI-PROPERTIES dev show wlx00e02d3c613e | grep usb
GENERAL.UDI: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/net/wlx00e02d3c613e
GENERAL.PATH: pci-0000:00:14.0-usb-0:1:1.0
通过 grepping usb,如果有任何结果,那么我知道该接口是外部的。
但问题是,当 NetworkManager 关闭时,此命令不起作用。
答案1
wlp 的意思是,西愤怒大号埃斯磷ci,换句话说,是一个内部设备。2s0 部分指的是设备所连接的 PCI 总线。
wlx 的意思是,西愤怒大号本质X外部。00e1b010ea1f部分是设备的MAC地址。
参考:https://www.freedesktop.org/software/systemd/man/systemd.net-naming-scheme.html