題 Linux / bash:如何獲取接口的IPv6地址?


我可以使用什麼命令來獲取腳本中接口的IPv6地址?

更新:從其中一個答案中輸出sed。

$ ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 fe80::224:d7ff:fed0:4f5c/64 scope link 
       valid_lft forever preferred_lft forever

另一個:

$ ip addr show dev eth0 | sed -e's/^.*inet6 \([^ ]*\)\/.*$/\1/;t;d'
$ ip addr show dev eth0
  2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
  link/ether f0:de:f1:7b:e9:6c brd ff:ff:ff:ff:ff:ff

4
2018-02-14 13:13


起源


哪個IPv6地址?你的接口的IPv6地址? - m0skit0
是的,編輯過,thx。 - Ondra Žižka


答案:


你可以使用:

ip -6 addr

它將返回您配置的所有IPv6地址。


9
2018-02-14 13:22





有很多方法可以做到這一點。

這是一個:

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

這與羅伯特的答案類似,只是刪除了地址。


12
2018-02-14 13:25