GNU/Linux >> Linux Esercitazione >  >> Linux

Come ottenere netmask da bash?

Dovrei chiarire che il codice qui funziona per Linux, (notare commenti e post su altri Unix). OP ha chiesto una soluzione Linux, ma sarebbe utile cambiare la domanda in "come ottenere la maschera di rete" in generale e fare in modo che la risposta combini il modo migliore per più gusti Unix.

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

./script eth0

Informazioni su ifconfig in Linux

Insieme ad altri comandi di rete tradizionali come netstat, arp, rarp e route, ifconfig fa parte dei net-tools pacchetto. Net-tools non è stato sviluppato attivamente da molto tempo e ci sono sforzi per deprecarlo a favore del nuovo iproute2 pacchetto. Per brevità, se desideri maggiori dettagli su questa transizione fondamentale, ecco alcuni link pertinenti:

Esempio di caso:Debian Linux

Caso di esempio:Arch Linux

Pagina man per net-tools ifconfig (vedere la sezione BUGS)

Analisi e confronto dei framework dal punto di vista degli utenti


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

?


Mi chiedo se tu voglia davvero solo la maschera. Forse vuoi davvero la rete (o l'IP) con la maschera, da usare nei file di configurazione, con nmap , o qualsiasi altra cosa.

In tal caso, su Linux, puoi anche analizzare l'output di ip ... comando.

Per elencare tutte le interfacce con il relativo indirizzo e maschera nella notazione CIDR:

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

O per limitarlo all'interfaccia predefinita:

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

che mi dà "192.168.1.61/24" sulla mia macchina.


Linux
  1. Come cancellare un comando specifico dalla cronologia di Bash in Linux

  2. Come abbreviare il prompt di Bash in Linux?

  3. Linux:come eseguire un bootloader da Linux?

  4. Come ottenere la dimensione della directory in Linux

  5. Linux/bash:come ottenere l'indirizzo IPv6 dell'interfaccia?

Come personalizzare il prompt di Bash in Linux

Come ottenere la dimensione di una directory in Linux

Come trovare/ottenere il tuo indirizzo IP in Linux

Come ottenere notizie istantaneamente dalla riga di comando in Linux

Come ottenere il nome del file dal percorso completo in Linux

Come ottenere il tuo indirizzo IP su Linux