/proc/net/dev
файл имеет детали обо всех интерфейсах. например.
$ cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 3562 60 0 0 0 0 0 0 3562 60 0 0 0 0 0 0
wlan0: 2491781197 2034240 0 0 0 0 0 0 261797069 1502752 0 0 0 0 0 0
eth0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Как Вы видите, много столбцов и деталей не очень легко прочитать когда Вы cat
файл, таким образом, я предложил бы использовать ifconfig
команда, которая читает тот файл и вывод форматов приятно.
Перечислять все использование интерфейсов
/sbin/ifconfig -a
это покажет Вам ненастроенные/вниз сетевые интерфейсы, а также настроенные и активные, как считано из /proc/net/dev
find /sys/class/net -type l -not -lname '*virtual*' -printf '%f\n'
Показывает только интерфейсы, относящиеся к физическому сетевому адаптеру.
Пытался найти параметр типа
для ip link show
, который отображал бы не логично, но увы:
ip link help 2>&1 | grep -A10 'TYPE :='
TYPE := { vlan | veth | vcan | dummy | ifb | macvlan | macvtap |
bridge | bond | ipoib | ip6tnl | ipip | sit | vxlan |
gre | gretap | ip6gre | ip6gretap | vti | nlmon |
bond_slave | ipvlan | geneve | bridge_slave | vrf }
Похоже, это единственное, чего не может сделать ip link show
. По крайней мере, не прибегая к сценарию, который сначала перечисляет все вышеперечисленное, а затем выполняет grep -v
для окончательного запуска без указания типа
.
ls -d /sys/class/net/*/device | cut -d/ -f5
выведет только реальные сетевые карты, исключая облигации, петлевые устройства и так далее.
В качестве бонуса ls -l /sys/class/net/*/device/driver/module | вырезать -d/ -f5,13 | sed?/? -> ?'
также покажет связанный с ним драйвер.
Пример аппаратного брандмауэра от крупного поставщика:
# ls -l /sys/class/net/*/device/driver/module | cut -d/ -f5,13 | sed 's?/? -> ?'
Mgmt -> igb
Sync -> igb
eth2-01 -> igb
eth2-02 -> igb
eth2-03 -> igb
eth2-04 -> igb
eth2-05 -> igb
eth2-06 -> igb
eth2-07 -> igb
eth2-08 -> igb
eth3-01 -> ixgbe
eth3-02 -> ixgbe