find /sys/class/net -type l -not -lname '*virtual*' -printf '%f\n'
Показує просто інтерфейси, які стосуються фізичного NIC.
Спробував знайти typeваріант, 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проти остаточного запуску без typeвказаного.