GNU/Linux >> Linux Esercitazione >  >> Linux

Ottieni la maschera di sottorete in Linux usando bash

Un modo semplice per farlo per me era:

IP=$(ifconfig eth0 | grep -w inet | cut -d" " -f10) # device IP, e.g. 11.1.1.43
IP_RANGE=$(echo $IP | cut -d"." -f1-3).0/24 # subnet 11.1.1.0/24

Sostituisci ovviamente eth0 con l'interfaccia corretta visualizzata da ifconfig .


Un approccio migliore sarà:

 ifconfig eth0 | awk '/netmask/{split($4,a,":"); print a[1]}'

Puoi sostituire eth0 con qualsiasi altra interfaccia che desideri


ci sono un paio di modi per raggiungere questo obiettivo:

primo:per stampare la maschera nel formato 255.255.255.0, puoi usare questo:

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

secondo:possiamo usare il comando ip per ottenere la maschera nel formato 192.168.1.1/24

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

Linux
  1. Esegui il debug di Linux usando ProcDump

  2. Analisi della cronologia di Bash in Linux

  3. Utilizzo di modificatori di parole con la cronologia di Bash in Linux

  4. Utilizzo del comando Linux Basename negli script Bash

  5. Esempio di utilizzo di named pipe in Linux Bash

Ottieni podman attivo e funzionante su Windows usando Linux

Comando della cronologia in Linux (Cronologia di Bash)

Calcola l'indirizzo di sottorete IP in Ubuntu 21.04 Linux usando ipcalc

Utilizzo del comando di sospensione di Linux negli script Bash

Utilizzo del comando Linux Dirname negli script Bash

Come ottenere netmask da bash?