Was macht dieser Befehl?
ifconfig | grep -Po "HWaddr \K.*$"
gibt die MAC- / Hardware-Adressen der aktiven Netzwerkschnittstellen in Ihrem System aus, sofern verfügbar.
Nebenbei können Sie in Linux im Allgemeinen etwas über Programme und deren Schalter erfahren, indem Sie sie nachschlagen man
, zB:
$ man ifconfig
$ man grep
(etc) Andernfalls kann eine Suche nach " <program name>
manuell" oder " <program name>
Verwendung" diese Art von Fragen beantworten.
ifconfig
ifconfig
dient zum Anzeigen und Konfigurieren von Netzwerkschnittstellen. Von man ifconfig
:
Ifconfig wird zum Konfigurieren der im Kernel residenten Netzwerkschnittstellen verwendet. Es wird beim Booten verwendet, um Schnittstellen nach Bedarf einzurichten. Danach wird es normalerweise nur beim Debuggen oder bei der Systemoptimierung benötigt.
Wenn keine Argumente angegeben sind, zeigt ifconfig den Status der aktuell aktiven Schnittstellen an . Wenn ein einzelnes Schnittstellenargument angegeben ist, wird nur der Status der angegebenen Schnittstelle angezeigt. Wenn ein Argument -a angegeben wird, wird der Status aller Schnittstellen angezeigt, auch derjenigen, die nicht aktiv sind. Ansonsten wird eine Schnittstelle konfiguriert.
(Hervorhebung meines)
Hier ifconfig
wird der Status Ihrer derzeit aktiven Schnittstellen gemeldet.
| (Rohr)
Das Pipe-Zeichen - leitet die Ausgabe von |
hier um,ifconfig
und anstatt es Ihnen angezeigt zu werden, geht es stattdessen zugrep
grep
grep
wird für den Musterabgleich verwendet und (normalerweise) wird gedruckt, was einem Muster entspricht oder nicht.
Hier sind die Optionen -P
und-o
-P
:
Interpretieren Sie PATTERN als regulären Perl-Ausdruck (PCRE, siehe unten). Dies ist äußerst experimentell und grep -P warnt vor nicht implementierten Funktionen.
Regexes sind ein langes Thema 1, aber im Grunde lassen sich grep
einige zusätzliche Muster anpassen .
-o
:
Drucken Sie nur die übereinstimmenden (nicht leeren) Teile einer übereinstimmenden Zeile, wobei sich jeder dieser Teile in einer separaten Ausgabezeile befindet.
(beide Zitate aus der grep-Manpage)
Diese Option besagt, grep
dass wir nur an dem Teil interessiert sind, der mit dem Muster übereinstimmt, im Gegensatz zu der gesamten Linie (wenn sie übereinstimmt).
"HWaddr \ K. * $"
Dieser Teil sagt uns, dass wir nach der HWaddr
MAC- oder Hardwareadresse suchen . \K
Legt den Startpunkt des Ausdrucks fest (für die -o
Option oben). .*
sagt grep
, jedes Zeichen ( .
) so oft wie möglich zu finden ( *
), zumindest bis zum Ende der Zeile ( $
).
Ausgabe / Ergebnis
Alles in allem entnimmt der Befehl Informationen von ifconfig
und sucht nach den Teilen, die der MAC-Adresse der Netzwerkschnittstellen im System entsprechen, und druckt diese jeweils in einer neuen Zeile aus.
1 : "Manche Leute denken, wenn sie mit einem Problem konfrontiert sind:" Ich weiß, ich verwende reguläre Ausdrücke. " Jetzt haben sie zwei Probleme. " Jamie Zawinski, 1997 (obwohl das Zitat oft aus dem Zusammenhang gerissen wird )