ip命令是Linux下较新的功能强大的网络配置工具。

1.命令格式:
  ip  [OPTIONS]  OBJECT  [COMMAND [ARGUMENTS]]
2.命令功能:
  ip命令用来显示或操纵Linux主机的路由、网络设备、策略路由和隧道。
3.命令参数:
     1)OPTIONS:

      -V -Version         打印ip的版本并退出
        -s -stats -statistics      输出更为详尽的信息(如果这个选项出现两次或者多次,输出的信息将更为详尽)
        -f -family          这个选项后面接协议种类,包括:inet、inet6或者link,强调使用的协议种类。
                 如果没有足够的信息告诉ip使用的协议种类,ip就会使用默认值inet或者any。link比较特殊,它表示不涉及任何网络协议。
        -4 是 -family inet   的简写。
        -6 是 -family inet6 的简写。
        -0 是 -family link   的简写。
        -o,-oneline           对每行记录都使用单行输出,回行用字符代替。如果你需要使用wc、grep等工具处理ip的输出,会用到这个选项。
        -r,-resolve          查询域名解析系统,用获得的主机名代替主机IP地址。

2)OBJECT:  是你要管理或者获取信息的对象。ip认识的对象包括:
     link       网络设备
  address     一个设备的协议(IP或者IPV6)地址
  neighbour     ARP或者NDISC缓冲区条目
  route        路由表条目
  rule          路由策略数据库中的规则
  maddress     多播地址
  mroute     多播路由缓冲区条目
  tunnel IP    上的通道
    另外,所有的对象名都可以简写,例如:address可以简写为addr,甚至是a。

3)COMMAND[ARGUMENTS]  设置针对指定对象执行的操作
    一般情况下,ip支持对象的增加(add)、删除(delete)和展示(show或者list)。

4)ARGUMENTS  是命令的一些参数,它们倚赖于对象和命令。
    ip支持两种类型的参数:flag和parameter。flag由一个关键词组成;parameter由一个关键词加一个数值组成。

4.使用实例:
1)[root@localhost xinetd.d]# ip link list    显示网络设备的运行状态



[root@localhost xinetd.d]# ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc noqueue state DOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:9f:bf:8b brd ff:ff:ff:ff:ff:ff



2)[root@localhost xinetd.d]# ip -s link list    输出更为详细的网络信息



[root@localhost xinetd.d]# ip -s link list
1: lo: <LOOPBACK> mtu 65536 qdisc noqueue state DOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast   
    1733956    21926    0       0       0       0      
    TX: bytes  packets  errors  dropped carrier collsns
    1733956    21926    0       0       0       0      
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:9f:bf:8b brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    790788625  551713   0       0       0       0      
    TX: bytes  packets  errors  dropped carrier collsns
    19844418   287915   0       0       0       0



3)[root@localhost xinetd.d]# ip route list   显示核心路由表



[root@localhost xinetd.d]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.15  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::20c:29ff:fe9f:bf8b  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:9f:bf:8b  txqueuelen 1000  (Ethernet)
        RX packets 556578  bytes 791923646 (755.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 294987  bytes 20580554 (19.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost xinetd.d]# ip route list
default via 192.168.0.1 dev eno16777736  proto static  metric 100
192.168.0.0/24 dev eno16777736  proto kernel  scope link  src 192.168.0.15  metric 100



4)[root@localhost xinetd.d]# ip neigh list   显示邻居表



[root@localhost xinetd.d]# ip neigh list
192.168.0.1 dev eno16777736 lladdr 70:62:b8:bd:8c:d6 REACHABLE



5)[root@localhost xinetd.d]# ip -s link list eno16777736  查看网卡信息



[root@localhost xinetd.d]# ip -s link list eno16777736      //等价于ifconfig eno16777736,(单网卡时等价于ifconfig)
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:9f:bf:8b brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    808213913  570857   0       0       0       0      
    TX: bytes  packets  errors  dropped carrier collsns
    21503126   305593   0       0       0       0      
[root@localhost xinetd.d]# ifconfig eno16777736      
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.15  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::20c:29ff:fe9f:bf8b  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:9f:bf:8b  txqueuelen 1000  (Ethernet)
        RX packets 572918  bytes 811238488 (773.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 306676  bytes 21578727 (20.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0



6)[root@localhost xinetd.d]# ip link set dev eno16777736 txqueuelen 1200    改变设备参数信息



[root@localhost xinetd.d]# ip link set dev eno16777736 txqueuelen 1200      //改变最大传输队列长度
[root@localhost xinetd.d]# ip link set dev eno16777736 MTU 1600          //MTU大写不行
Error: either "dev" is duplicate, or "MTU" is a garbage.
[root@localhost xinetd.d]# ip link set dev eno16777736 mtu 1600          //改变网络设备最大传输单元的值
[root@localhost xinetd.d]# ifconfig eno16777736
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1600
        ether 00:0c:29:9f:bf:8b  txqueuelen 1200  (Ethernet)
        RX packets 587649  bytes 832219280 (793.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 315027  bytes 22173716 (21.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0



7)[root@localhost xinetd.d]# ip link set eno16777736 down     设置网络设备为不可用状态



[root@localhost xinetd.d]# ip link set eno16777736 down          //显示电缆被拔出,连接不可用
[root@localhost xinetd.d]# ip link set eno16777736 up                  //显示连接处于未连接状态    
[root@localhost xinetd.d]# ifup eno16777736                 //激活连接
成功激活的连接(D-Bus 激活路径:/org/freedesktop/NetworkManager/ActiveConnection/13)
[root@localhost xinetd.d]# ifdown eno16777736
Device 'eno16777736' successfully disconnected.               //关闭连接



8)[root@localhost xinetd.d]# ip addr ls eno16777736  显示协议地址(网卡信息)



[root@localhost xinetd.d]# ip addr ls eno16777736
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1600 qdisc pfifo_fast state UP qlen 1200
    link/ether 00:0c:29:9f:bf:8b brd ff:ff:ff:ff:ff:ff
[root@localhost xinetd.d]# ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc noqueue state DOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1600 qdisc pfifo_fast state UP mode DEFAULT qlen 1200
    link/ether 00:0c:29:9f:bf:8b brd ff:ff:ff:ff:ff:ff