GNU/Linux >> Belajar Linux >  >> Linux

Linux/bash:Bagaimana cara mendapatkan alamat IPv6 antarmuka?

Ada banyak cara untuk melakukannya.

Ini salah satunya:

ip addr show dev eth0 | sed -e's/^.*inet6 \([^ ]*\)\/.*$/\1/;t;d'

Ini mirip dengan jawaban Robert, kecuali menghapus alamatnya saja.


Anda dapat menggunakan:

ip -6 addr

Ini akan mengembalikan semua alamat IPv6 yang telah Anda konfigurasikan.


Jika Anda menggunakan Linux, Anda juga dapat mengurai:/proc/net/if_inet6

Kolom pertama adalah IPv6 lengkap tanpa titik dua. Kolom keenam adalah nama antarmuka.

Di sini versi yang agak panjang tidak dioptimalkan (Saya hanya sekarang dasar-dasar awk) Mungkin python/perl adalah pilihan yang lebih baik.

for i in "$(grep enp0s25 /proc/net/if_inet6)"; do
    echo "$i" | awk '{
        split($1, _, "[0-9a-f]{,4}", seps)
        joined = sep = ""
        for (i=1; i in seps; i++) {
            joined = joined sep seps[i]
            sep = ":"
        }
        print joined
    }'
done

Jika Anda memiliki GNU awk (gawk) ini dapat disingkat menjadi:

for i in "$(grep enp0s25 /proc/net/if_inet6)"; do
    echo "$i" | gawk '@include "join"
    {
        split($1, _, "[0-9a-f]{,4}", seps)
        print join(seps, 1, length(seps), ":")
    }'
done

Anda dapat memasukkannya ke dalam fungsi {ba,z,}sh untuk digunakan nanti.


Linux
  1. Bagaimana Cara Mempersingkat Bash Prompt di Linux?

  2. Cara mendapatkan ukuran direktori di Linux

  3. Dapatkan alamat IP dari sebuah antarmuka di Linux

  1. Linux – Bagaimana Cara Mendapatkan Alamat IPv4 Untuk Antarmuka Dari /proc?

  2. Skrip bash Linux untuk mengekstrak alamat IP

  3. Bagaimana cara menonaktifkan ipv6 pada antarmuka tertentu di linux?

  1. Bagaimana menemukan alamat IP Anda di Linux

  2. Bagaimana cara mendapatkan netmask dari bash?

  3. Bagaimana cara mendapatkan ldapsearch di Scientific Linux?