GNU/Linux >> Znalost Linux >  >> Linux

Uveďte pouze názvy zařízení všech dostupných síťových rozhraní

Další alternativou by bylo:

ip -o link show | awk -F': ' '{print $2}'

Nebo možná:

ls /sys/class/net

Stačí použít /sys/class/net a odstranit cestu:

$ basename -a /sys/class/net/*
eth0
eth1
lo
ppp0
tun0

Modernějším způsobem by bylo použít výstup iproute json a parser, jako:

$ ip -j link |jq -r '.[].ifname'
lo
wlp0s20f3
enp0s31f6
virbr0
virbr0-nic

Což vám umožňuje odfiltrovat rozhraní zpětné smyčky:

$ ip -j link |jq -r '.[].ifname | select(. != "lo")'
wlp0s20f3
enp0s31f6
virbr0
virbr0-nic

Zkuste to:

ifconfig -a | sed 's/[ \t].*//;/^$/d'

Tím vynecháte lo :

ifconfig -a | sed 's/[ \t].*//;/^\(lo\|\)$/d'

Linux
  1. The name game:Pojmenování síťových rozhraní v Linuxu

  2. 6 způsobů, jak zobrazit seznam síťových rozhraní v Debianu 11

  3. diff pro výstup pouze názvů souborů

  1. Najít dostupná síťová rozhraní v C/C++?

  2. Existuje příkaz pro výpis všech názvů unixových skupin?

  3. Jak vypsat za běhu všechny funkce/symboly dostupné v kódu C na architektuře Linuxu?

  1. Linux získává všechny názvy síťových rozhraní

  2. Jak mohu řídit řazení síťových rozhraní?

  3. Seznam všech dostupných certifikátů ssl ca