GNU/Linux >> Linux Esercitazione >  >> Linux

Ottieni l'indirizzo MAC usando lo script della shell

La migliore soluzione specifica per Linux è usare sysfs:

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

Questo metodo è estremamente pulito rispetto agli altri e non genera processi aggiuntivi da read è un comando integrato per le shell POSIX, comprese le shell non BASH. Tuttavia, se hai bisogno della portabilità su OS X, dovrai usare ifconfig e sed metodi, poiché OS X non ha un'interfaccia di filesystem virtuale come sysfs.


Puoi fare come segue

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

Inoltre puoi ottenere MAC per tutte le interfacce come segue

cat /sys/class/net/*/address

Per un'interfaccia particolare come per eth0

cat /sys/class/net/eth0/address

Linux
  1. Come ottenere l'indirizzo IP esterno in uno script di shell?

  2. Come impostare l'indirizzo proxy a livello di sistema utilizzando lo script della shell?

  3. Come ottenere un indirizzo di memoria specifico usando C

  4. Come ottenere l'indirizzo MAC dell'interfaccia di rete WiFi?

  5. Ottieni un elenco di nomi di funzioni in uno script di shell

Comprendere facilmente i comandi della shell utilizzando lo script "Explain Shell" in Linux

Come ottenere l'indirizzo MAC della tua macchina usando un programma C?

Ottieni l'indirizzo IP di un'interfaccia su Linux

È possibile creare cartelle in modo ricorsivo usando lo script di shell?

Calcolo della percentuale arrotondata in Shell Script senza utilizzare bc

Itera sulla variabile $ PATH usando lo script di shell