liste_ip
lister les IP des interfaces réseau
Quand on liste les IP réseau d'un poste de travail, ça donne quelque chose d'assez touffu
# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp3s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:90:f5:fa:ed:37 brd ff:ff:ff:ff:ff:ff inet 192.168.0.12/24 brd 192.168.0.255 scope global dynamic noprefixroute enp3s0f1 valid_lft 37078sec preferred_lft 37078sec inet6 2a04:e0a5:9ad2:9730:b8e5:b2ae:d0c9:8345/64 scope global temporary dynamic valid_lft 86192sec preferred_lft 80139sec inet6 2a04:e0a5:9ad2:9730:ee7e:9d31:c155:6dd2/64 scope global dynamic mngtmpaddr noprefixroute valid_lft 86192sec preferred_lft 86192sec inet6 fe80::e594:c5d7:1943:147c/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: wlp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether ac:7b:a1:3f:5d:e5 brd ff:ff:ff:ff:ff:ff
il suffit de passer une moulinette avec sed et des regex pour éclaircir le tout
# ip a | sed -nE "s/(^[0-9]:\s*(.*:).*)/\2/p;s/(\s*inet6?\s([0-9a-zA-Z:\/\.]*).*)/\t\2/p" lo: 127.0.0.1/8 ::1/128 enp3s0f1: 192.168.0.12/24 2a04:e0a5:9ad2:9730:b8e5:b2ae:d0c9:8345/64 2a04:e0a5:9ad2:9730:ee7e:9d31:c155:6dd2/64 fe80::e594:c5d7:1943:147c/64 wlp2s0:
On peut facilement faire un script
# cat > /usr/local/bin/lsip #!/bin/bash ip a | sed -nE "s/(^[0-9]:\s*(.*:).*)/\2/p;s/(\s*inet6?\s([0-9a-zA-Z:\/\.]*).*)/\t\2/p" # chmod +x /usr/local/bin/lsip
on tape ensuite un simple lsip pour obtenir le résultat
liste_ip.txt · Dernière modification : 2024/04/12 22:42 de thierry