GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mendapatkan netmask dari bash?

Saya harus mengklarifikasi bahwa kode di sini berfungsi untuk Linux, (perhatikan komentar dan posting tentang Uni lain). OP meminta solusi Linux, tetapi akan baik untuk mengubah pertanyaan menjadi "bagaimana cara mendapatkan netmask" secara umum, dan minta jawabannya menggabungkan cara terbaik untuk lebih banyak rasa Unix.

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

./skrip eth0

Tentang ifconfig di Linux

Bersama dengan perintah jaringan tradisional lainnya seperti netstat, arp, rarp dan route, ifconfig merupakan bagian dari net-tools kemasan. Net-tools belum dikembangkan secara aktif sejak lama dan ada upaya untuk menghentikannya demi mendukung iproute2 yang lebih baru kemasan. Demi singkatnya, jika Anda menginginkan detail lebih lanjut tentang transisi mendasar ini, berikut beberapa link yang relevan:

Contoh kasus:Linux Debian

Contoh kasus:Arch Linux

Halaman manual untuk net-tools ifconfig (lihat bagian BUGS)

Analisis dan perbandingan kerangka kerja dari perspektif pengguna


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

?


Saya ingin tahu apakah Anda benar-benar hanya menginginkan topeng. Mungkin Anda benar-benar menginginkan jaringan (atau IP) dengan topeng, untuk digunakan dalam file konfigurasi, dengan nmap , atau apa pun.

Dalam hal ini, di Linux, Anda juga dapat mengurai keluaran dari ip ... memerintah.

Untuk mencantumkan semua antarmuka dengan alamat dan topengnya dalam notasi CIDR:

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

Atau untuk membatasinya ke antarmuka default:

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

yang memberi saya "192.168.1.61/24" di komputer saya.


Linux
  1. Cara Mendapatkan Geolokasi Anda Dari Commandline Di Linux

  2. Cara Menghapus Perintah Tertentu Dari Riwayat Bash Di Linux

  3. Bagaimana Cara Mempersingkat Bash Prompt di Linux?

  1. Linux – Bagaimana Cara Menjalankan Bootloader Dari Linux?

  2. Linux/bash:Bagaimana cara mendapatkan alamat IPv6 antarmuka?

  3. Bagaimana cara mendapatkan ldapsearch di Scientific Linux?

  1. Cara mendapatkan ukuran direktori di Linux

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

  3. Bagaimana saya bisa mendapatkan nilai unik dari array di Bash?