Search notes:

Shell command: ip

ip is used to show/manipulate routing, network devices, interfaces and tunnels.
ip [ OPTIONS ] OBJECT { COMMAND | help }
ip [ -force ] -batch filename

OBJECT

address protocol (IP or IPv6) address on a device.
addrlabel label configuration for protocol address selection.
l2tp tunnel ethernet over IP (L2TPv3).
link network device.
maddress multicast address.
monitor watch for netlink messages.
mptcp manage MPTCP path manager.
mroute multicast routing cache entry.
mrule rule in multicast routing policy database.
neighbour manage ARP or NDISC cache entries.
netns manage network namespaces.
ntable manage the neighbor cache's operation.
route routing table entry.
rule rule in routing policy database.
tcp_metrics/tcpmetrics manage TCP Metrics
token manage tokenized interface identifiers.
tunnel tunnel over IP.
tuntap manage TUN/TAP devices.
vrf manage virtual routing and forwarding devices.
xfrm manage IPSec policies.
Objects can be abbreviated (for example addr or a instead of address).

OPTIONS

-V -Version Print the version of the ip utility and exit.
-h -human, -human-readable Print statistics with human readable values followed by suffix (compare ls -h)
-b -batch filename Read commands from provided file or standard input and invoke them. First failure will cause termination of ip.
-force Don't terminate ip on errors in batch mode. If there were any errors during execution of the commands, the application return code will be non zero.
-s -stats, -statistics print more information. If the option appears twice or more, the amount of information increases. As a rule, the information is statistics or some time values.
-d -details Output more detailed information.
-l -loops <COUNT> Specify maximum number of loops the 'ip address flush' logic will attempt before giving up. The default is 10. Zero (0) means loop until all addresses are removed.
-f -family <FAMILY> Specifies the protocol family to use. The protocol family identifier can be one of inet, inet6, bridge, mpls or link. If this option is not present, the protocol family is guessed from other arguments. If the rest of the command line does not give enough information to guess the family, ip falls back to the default one, usually inet or any. link is a special family identifier meaning that no networking protocol is involved.
-4 shortcut for -family inet
-6 shortcut for -family inet6
-B shortcut for -family bridge
-M shortcut for -family mpls
-0 shortcut for -family link
-o -oneline output each record on a single line, replacing line feeds with the '\' character. This is convenient when you want to count records with wc(1) or to grep(1) the output.
-r -resolve use the system's name resolver to print DNS names instead of host addresses.
-n -netns <NETNS> switches ip to the specified network namespace NETNS.
-N -Numeric Print the number of protocol, scope, dsfield, etc directly instead of converting it to human readable name.
-a -all executes specified command over all objects, it depends if command supports this option.
-c -color [={always|auto|never}] Configure color output. If parameter is omitted or always, color output is enabled regardless of stdout state. If parameter is auto, stdout is checked to be a terminal before enabling color output. If parameter is never, color output is disabled. This flag is ignored if -json is also given.
-t -timestamp display current time when using monitor option.
-ts -tshort Like -timestamp, but use shorter format.
-rc -rcvbuf <SIZE> Set the netlink socket receive buffer size, defaults to 1MB.
-iec print human readable rates in IEC units (e.g. 1Ki = 1024).
-br -brief Print only basic information in a tabular format for better readability. This option is currently only supported by ip addr show and ip link show commands.
-j -json Output results in JSON.
-p -pretty The default JSON format is compact and more efficient to parse but hard for most users to read. This flag adds indentation for readability.

-n, -netns

-n <NETNS> simplifies
ip netns exec NETNS ip [ OPTIONS ] OBJECT { COMMAND | help }
to
ip -n[etns] NETNS [ OPTIONS ] OBJECT { COMMAND | help }

COMMAND

COMMAND specifies the action to perform on the object.
The set of possible actions depends on the object type.
As a rule, it is possible to add, delete and show/list objects, but some objects do not allow all of these operations or have some additional commands.
The help command is available for all objects. It prints out a list of available commands and argument syntax conventions.
If no command is given, some default command is assumed. Usually it is list or, if the objects of this class cannot be listed, help.

Examples

Shows addresses assigned to all network interfaces.
ip addr
Show the current neighbour table in kernel:
ip neigh
Bring up interface x:
ip link set x up
Bring down interface x:
ip link set x down
Show table routes:
ip route

TODO

Show result in brief/tabular format:
$ ip -br -c a

See also

ifconfig which has been deprecated by ip.
iw
Shell commands

Index