2016-07-18 9 views
-3

Es ist das erste Mal, dass ich verwenden, um eine Linux-Distribution, und ich finde --help sehr schwierig zu verwenden, um den folgenden Befehl unserstand:Befehl zum Drucken IP-Adresse in Ubuntu nicht verstanden

ifconfig eth0 | grep inet | awk '{ print $2 }' 

Jemand zu erklären mir bitte was die Worte dieses Befehls tun? Wie lautet der Name | in Englisch? Dank

+0

Hinweis: versuchen Sie "man ifconfig" für Anfänger. Im Grunde listet dieser kleine Ausschnitt alle Zeilen Ihrer Ethernet-Verbindung auf, die die Zeichenfolge "inet" enthalten, um dann das zweite Wort (wahrscheinlich die IP-Adresse) aus diesen Zeilen auszudrucken. Aber das druckt nur ** eine ** Adresse von der ersten Ethernet-Verbindung ... also bedenken Sie, dass ein echter Server ** viel mehr ** andere IPs haben kann. – GhostCat

+1

Ja, das Zeichen '|' erstellt eine Pipe von einem Befehl zum nächsten. Aber das ist wirklich super grundlegende Sachen, die da draußen eine Zillion mal dokumentiert ist. – GhostCat

+0

Nun, das war mein erster Gedanke. Aber wahrscheinlich kann das diskutiert werden. – GhostCat

Antwort

2

Die | Zeichen genannt pipeline und es ist ein Operator, der die Ausgabe des Befehls sendet es in Seite wie die Eingabe des Befehls links in es rechten Seite.

Also im Grunde haben Sie 3 Befehle:

ifconfig eth0 

, die viele Details in Ihrem Netzwerk gibt, dann senden Sie diese Ausgabe an:

grep inet 

, die nur die Linien nehmen, die das Wort inet und senden, dass auf:

awk '{ print $2 }' 

, die die gerade seco drucken ned Wort.

+0

Danke, das ist wirklich eine gute Erklärung für ein Newb. –

+0

@whileletsinblankpapers Geben Sie einfach 'ifconfig' ein und Sie werden alle Gerätedetails sehen. –

+0

@whitelettersinblankpapers Wie gesagt: Beginnen Sie mit "man ifconfig" ... und führen Sie ifconfig ohne Parameter aus. Wirklich: versuche, etwas Spaß beim Entdecken ** und Experimentieren zu finden. Du lernst diese Dinge, indem du versuchst, nicht nach Erklärungen zu fragen. – GhostCat