GNU/Linux >> Belajar Linux >  >> Linux

Dapatkan Subnet mask di Linux menggunakan bash

Cara sederhana melakukannya untuk saya, adalah:

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

Ganti saja eth0 dengan antarmuka yang tepat ditampilkan oleh ifconfig .


Pendekatan yang lebih baik adalah:

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

Anda dapat mengganti eth0 dengan antarmuka lain yang Anda inginkan


ada beberapa cara untuk mencapai ini:

pertama:untuk mencetak topeng dalam format 255.255.255.0, Anda dapat menggunakan ini:

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

kedua:kita bisa menggunakan perintah ip untuk mendapatkan mask dalam format 192.168.1.1/24

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

Linux
  1. Menggunakan Perintah Tidur Linux di Skrip Bash

  2. Dapatkan tanggal kemarin di bash di Linux, DST-safe

  3. Bagaimana cara mendapatkan netmask dari bash?

  1. Menggunakan Perintah Nama Dasar Linux di Skrip Bash

  2. Dapatkan bilangan bulat langit-langit dari angka di linux (BASH)

  3. Cara mendapatkan total penggunaan cpu di Linux menggunakan C++

  1. Contoh penggunaan pipa bernama di Linux Bash

  2. Bagaimana cara mendapatkan jumlah CPU di Linux menggunakan C?

  3. Dapatkan mtime file tertentu menggunakan Bash?