I grew up in Linux with the ifconfig tool and for whatever reason I can’t remember how to use the newer ip command. I keep losing my references so I am putting it here, mostly for me but if you find it useful, that’s cool too.
Around 2009 the debian-devel mailing list announced plans to phase out the net-tools package due to lack of maintenance. In 2018 the legacy net-tools is still around. Although not installed by default, it is still available as net-tools-depreciated in the official repository for openSUSE Leap and Tumbleweed.
I could install those legacy tools… but I think it is time I stop shouting from my front porch for kids to get off my lawn and just take the time to know the new and better tool set. ip is not a drop in replacement for my beloved ifconfig as there are differences but similar enough to get what I want.
Query the Network Interfaces
List interfaces with associated information
This command is similar to using ipconfig alone
ip -4 a
Same as above but only show IP4 information
ip -6 a
Same as above but only show IP6 information
ip a show [interface name]
This will show only information about a specific interface. You will have to know the specific name. In my case the wireless interface is wlp3s0. Yours may be different.
List the interfaces that are “up”
ip link ls up
This will only show interfaces that are up, maybe not connected but are up and talking
Mix and match commands
Now that you have a few of the basics, you can string more together to give you exactly what you want. In this case, show only the IP4 information on a specific interface
ip -4 a show [interface name]
Modify the Network Interfaces
Not something I do not do very often because I rarely have the need but it’s good to know
Bring up and down an Interface
To bring the interface down
ip link set dev [interface name] down
To bring the interface up
ip link set dev [interface name] up
There are many more advanced features but typically, this is all I need. My systems are all set with dynamic address on my network and devices that need a specific IP, like my printer, have a rule in the router that will assign it a network address.
Replacing ifconfig with ip at Linux.com
Debian Devel discussion on plans to phase out net-tools