For years, people used the ifconfig tool to handle their command line IP / network interface related tasks.

However, ifconfig is long dead, and has since been replaced with the IP tool, although it will take users some time to make the total switch, as ip is considerably more powerful than ifconfig was.

This tutorial is geared to users who are not quite absolute CLI beginners, but are ready to start getting their toes wet when dealing with networking and interfaces.

IP Command in Linux

Getting right into it, the first command we will look at, checks all network interfaces, and shows information related to them such as IP address: ip addr show

Use the commands ip -4 a or ip -6 a to only show IPv4 or IPv6 related information

The same command can be used, to specifically look up information related to a certain interface. In this case, using wlp1s0 (wifi adapter) as the interface: ip addr show wlp1s0

Last but not least, you may also use it to show interfaces that are active: ip link ls up

Network interfaces

Enabling or disabling a network interface is also accomplished quite easily using the ip command (Note wlp1s0 is the name of the interface, and the up/down command enables or disables the interface on the device).

Enabling an interface (using the same interface from previous examples): ip link set wlp1s0 up

Disabling the very same interface: ip link set wlp1s0 down

You can use the IP command to set an IP address for the computer. The general command is ip a add IP/mask dev INTERFACE, e.g.: ip addr add 192.168.2.10/24 dev wlan0

Or use the command to remove an IP address again by using the del command instead of add, e.g. sudo ip addr del 192.168.2.10/24 dev wlan0

Other IP commands

To check the routing tables for your system, use: ip route show

Just like with the 'addr show' options, we can also pinpoint routing information down to a specific IP address: ip route get XXX.XXX.X.X #replace X with the desired IP address

Looking up network statistics is another extremely useful way to utilize the ip command, especially if you are under suspicions about packet loss occurring: ip -s link

You can also use the following command to quickly see all available options that ip can use: ip help

Lastly, but not least, you can use the manpages if you need more information, as ip can do much more powerful things than discussed here, as this was meant for beginners: man ip

And one more resource for you, is super handy cheatsheat that RedHat have put together, for using the ip command, found here.

Last words

Your typical home user will likely never need to actually use the ip command, for any of the usual day to day tasks.

However, as soon as you start delving into any form of server/sysadmin work, be it web hosting, or even just hosting a Minecraft server for you and your neighbour, you can quickly start tumbling down the networking rabbit hole; so learning the basics of ip as well as other tools like netstat or its replacement ss should be high on your priority list.