Eine andere Alternative wäre:
ip -o link show | awk -F': ' '{print $2}'
Oder vielleicht:
ls /sys/class/net
Verwenden Sie einfach /sys/class/net und entfernen Sie den Pfad:
$ basename -a /sys/class/net/*
eth0
eth1
lo
ppp0
tun0
Ein modernerer Weg wäre die Verwendung der iproute-json-Ausgabe und eines Parsers wie:
$ ip -j link |jq -r '.[].ifname'
lo
wlp0s20f3
enp0s31f6
virbr0
virbr0-nic
Damit können Sie die Loopback-Schnittstelle herausfiltern:
$ ip -j link |jq -r '.[].ifname | select(. != "lo")'
wlp0s20f3
enp0s31f6
virbr0
virbr0-nic
Probieren Sie es aus:
ifconfig -a | sed 's/[ \t].*//;/^$/d'
Dadurch wird lo
weggelassen :
ifconfig -a | sed 's/[ \t].*//;/^\(lo\|\)$/d'