GNU/Linux >> Znalost Linux >  >> Linux

Získejte MAC adresu pomocí shell skriptu

Nejlepším řešením specifickým pro Linux je použití sysfs:

$ IFACE=eth0
$ read MAC </sys/class/net/$IFACE/address
$ echo $IFACE $MAC
eth0 00:ab:cd:12:34:56

Tato metoda je extrémně čistá ve srovnání s ostatními a nevytváří žádné další procesy od read je vestavěný příkaz pro shelly POSIX, včetně shellů bez BASH. Pokud však potřebujete přenositelnost na OS X, budete muset použít ifconfig a sed metod, protože OS X nemá rozhraní virtuálního souborového systému jako sysfs.


Můžete to udělat následovně

ifconfig <Interface ex:eth0,eth1> | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'

Také můžete získat MAC pro všechna rozhraní následovně

cat /sys/class/net/*/address

Pro konkrétní rozhraní jako pro eth0

cat /sys/class/net/eth0/address

Linux
  1. Jak získat externí IP adresu ve skriptu Shell?

  2. Jak nastavit adresu proxy v celém systému pomocí skriptu Shell?

  3. Jak získat MAC adresu vašeho stroje pomocí programu C?

  1. Získejte IP adresu rozhraní v systému Linux

  2. Jak získat MAC adresu WiFi síťového rozhraní?

  3. Získejte seznam názvů funkcí ve skriptu shellu

  1. Odesílání HTML pošty pomocí shell skriptu

  2. Zkontrolujte konektivitu databáze pomocí skriptu Shell

  3. Je možné rekurzivně vytvářet složky pomocí skriptu shell?