Une autre alternative serait :
ip -o link show | awk -F': ' '{print $2}'
Ou peut-être :
ls /sys/class/net
Utilisez simplement /sys/class/net et supprimez le chemin :
$ basename -a /sys/class/net/*
eth0
eth1
lo
ppp0
tun0
Une manière plus moderne serait d'utiliser la sortie iproute json et un analyseur, comme :
$ ip -j link |jq -r '.[].ifname'
lo
wlp0s20f3
enp0s31f6
virbr0
virbr0-nic
Ce qui vous permet de filtrer l'interface de bouclage :
$ ip -j link |jq -r '.[].ifname | select(. != "lo")'
wlp0s20f3
enp0s31f6
virbr0
virbr0-nic
Essayez ceci :
ifconfig -a | sed 's/[ \t].*//;/^$/d'
Cela omettra lo
:
ifconfig -a | sed 's/[ \t].*//;/^\(lo\|\)$/d'