GNU/Linux >> Tutoriales Linux >  >> Linux

Obtener máscara de subred en Linux usando bash

Una forma simple de hacerlo para mí fue:

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

Reemplace, por supuesto, eth0 con la interfaz correcta mostrada por ifconfig .


Un mejor enfoque será:

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

Puede sustituir el eth0 con cualquier otra interfaz que desee


hay un par de maneras de lograr esto:

primero:para imprimir la máscara en formato 255.255.255.0, puedes usar esto:

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

segundo:podemos usar el comando ip para obtener la máscara en formato 192.168.1.1/24

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

Linux
  1. Usando el comando de suspensión de Linux en Bash Scripts

  2. Uso del comando Linux Basename en Bash Scripts

  3. Ejemplo de uso de canalizaciones con nombre en Linux Bash

  4. ¿Obtener mtime de un archivo específico usando Bash?

  5. ¡Obtenga deltas del mouse usando Python! (en Linux)

Ponga en funcionamiento podman en Windows usando Linux

Depurar Linux usando ProcDump

Comando de historial en Linux (Bash History)

Usando el comando Dirname de Linux en Bash Scripts

Obtenga la fecha de ayer en bash en Linux, DST-safe

¿Cómo obtener máscara de red de bash?