GNU/Linux >> Znalost Linux >  >> Linux

Získejte masku podsítě v Linuxu pomocí bash

Jednoduchý způsob, jak to udělat pro mě, byl:

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

Nahraďte samozřejmě eth0 se správným rozhraním zobrazeným ifconfig .


Lepší přístup bude:

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

Eth0 můžete nahradit jakýmkoli jiným rozhraním, které chcete


existuje několik způsobů, jak toho dosáhnout:

za prvé:pro tisk masky ve formátu 255.255.255.0 můžete použít toto:

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

za druhé:můžeme použít příkaz ip k získání masky ve formátu 192.168.1.1/24

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

Linux
  1. Ladění Linuxu pomocí ProcDump

  2. Vypočítejte IP adresu podsítě v Ubuntu 21.04 Linux pomocí ipcalc

  3. Použití Linux Sleep Command ve skriptech Bash

  1. Jak získat celkové využití CPU v Linuxu pomocí C++

  2. Získejte včerejší datum v bash na Linuxu, DST-safe

  3. Přesměrovat veškerý výstup do souboru pomocí Bash na Linuxu?

  1. Analýza historie Bash v Linuxu

  2. Získejte IPv6 adresy v linuxu pomocí ioctl

  3. Jak získat masku sítě z bash?