GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie bekomme ich eine Netzmaske von Bash?

Ich sollte klarstellen, dass der Code hier für Linux funktioniert (beachten Sie Kommentare und Beiträge zu anderen Unices). OP hat nach einer Linux-Lösung gefragt, aber es wäre gut, die Frage allgemein in "Wie bekomme ich eine Netzmaske" zu ändern, und die Antwort den besten Weg für mehr Unix-Varianten kombinieren zu lassen.

#!/bin/sh
ifconfig "$1" | sed -rn '2s/ .*:(.*)$/\1/p'

./script eth0

Über ifconfig unter Linux

Zusammen mit anderen traditionellen Netzwerkbefehlen wie netstat, arp, rarp und route ist ifconfig Teil der net-tools Paket. Net-Tools wurde seit sehr langer Zeit nicht mehr aktiv entwickelt und es gibt Bemühungen, es zugunsten des neueren iproute2 abzulehnen Paket. Wenn Sie weitere Einzelheiten zu diesem grundlegenden Übergang wünschen, finden Sie hier einige relevante Links:

Fallbeispiel:Debian Linux

Fallbeispiel:Arch Linux

Manpage für net-tools ifconfig (siehe BUGS-Abschnitt)

Analyse und Vergleich der Frameworks aus Nutzersicht


/sbin/ifconfig eth0 | awk '/Mask:/{ print $4;} '

?


Ich frage mich, ob Sie wirklich nur die Maske wollen. Vielleicht möchten Sie wirklich das Netzwerk (oder die IP) mit Maske, um es in Konfigurationsdateien zu verwenden, mit nmap , oder was auch immer.

In diesem Fall können Sie unter Linux auch die Ausgabe von ip ... parsen Befehl.

So listen Sie alle Schnittstellen mit ihrer Adresse und Maske in CIDR-Notation auf:

ip -o -f inet addr show | awk '/scope global/ {print $2, $4}'

Oder um es auf die Standardschnittstelle zu beschränken:

default_if=$(ip route list | awk '/^default/ {print $5}')
ip -o -f inet addr show $default_if | awk '{print $4}'

was mir "192.168.1.61/24" auf meinem Rechner gibt.


Linux
  1. So erhalten Sie Ihre Geolokalisierung von der Befehlszeile in Linux

  2. So löschen Sie einen bestimmten Befehl aus dem Bash-Verlauf in Linux

  3. Wie kürze ich die Bash-Eingabeaufforderung unter Linux?

  4. Linux – Wie führe ich einen Bootloader von Linux aus?

  5. Wie bekomme ich ldapsearch auf Scientific Linux?

So passen Sie die Bash-Eingabeaufforderung unter Linux an

So erhalten Sie die Größe eines Verzeichnisses in Linux

So finden / erhalten Sie Ihre IP-Adresse unter Linux

So erhalten Sie Nachrichten sofort von der Befehlszeile in Linux

So erhalten Sie den Dateinamen aus dem vollständigen Pfad in Linux

So erhalten Sie Ihre IP-Adresse unter Linux