ip命令

ip命令与ifconfig命令类似,但比ifconfig命令更加强大,主要功能是用于显示或设置网络设备、路由和隧道的配置等,ip命令是Linux加强版的的网络配置工具,用于代替ifconfig命令。

语法

ip [ OPTIONS ] OBJECT { COMMAND | help }
ip [ -force ] -batch filename

OBJECT := { link | addr | addrlabel | route | rule | neigh | ntable | tunnel | tuntap | maddr | mroute | mrule | monitor | xfrm | netns }

OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] | -f[amily] { inet | inet6 | ipx | dnet | link } | -o[neline] }

参数

OPTIONS

  • -b, -batch <FILENAME>: 从提供的文件或标准输入读取命令并调用它们,第一次失败将导致ip执行终止。
  • -force: 不要在批处理模式下因错误而终止ip,如果在执行命令期间发生任何错误,则应用程序返回码将为非零。
  • -s, -stats, -statistics: 输出更多信息,如果该选项出现两次或更多次,则信息量会增加,通常,信息是统计信息或一些时间值。
  • -l, -loops <COUNT>: 指定ip addr flush逻辑在放弃之前尝试的最大循环数,默认值为100表示循环直到删除所有地址。
  • -f, -family <FAMILY>: 指定使用的协议族,协议族标识符可以是inetinet6bridgeipxdnetlink中的一个,如果该选项不存在,则根据其他参数猜测协议族,如果命令行的其余部分没有提供足够的信息来猜测家族,ip将退回到默认的ip设置,通常是inetanylink是一种特殊的族标识符,不涉及任何网络协议。
  • -4: -family inet的快捷方式。
  • -6: -family inet6的快捷方式。
  • -B: -family bridge的快捷方式。
  • -D: -family decnet的快捷方式。
  • -I: -family ipx的快捷方式。
  • -0: -family link的快捷方式。
  • -o, -oneline: 将每条记录输出为一行,用\字符替换换行符,当使用wc计数记录或grep输出时,这很方便。
  • -r, -resolve: 使用系统的名称解析程序打印DNS名称而不是主机地址。
  • -V, -Version: 输出版本信息。

OBJECT

  • address: 设备上的协议地址,IPIPv6

  • addrlabel: 用于协议地址选择的标签配置。

  • l2tp: IP隧道以太网L2TPv3

  • link: 网络设备。

  • maddress: 多播地址。

  • monitor: 监视netlink消息。

  • mroute: 多播路由缓存项。

  • mrule: 多播路由策略数据库中的规则。

  • neighbour: 管理ARPNDISC缓存项。

  • netns: 管理网络名称空间。

  • ntable: 管理邻居缓存的操作。

  • route: 路由表条目。

  • rule: 路由策略数据库中的规则。

  • tcp_metrics/tcpmetrics: 管理TCP指标。

  • tunnel: IP隧道。

  • tuntap: 管理TUN/TAP设备。

  • xfrm: 管理IPSec策略。

示例

查看网络接口信息,例如IP地址,子网等。

ip addr show

要查看eth0网卡信息。

ip addr show eth0

启用网络接口。

ip link set eth0 up

关闭网络接口。

ip link set eth0 down

查看路由和默认网关信息。

ip route show

获取到特定ip的路由信息。

ip route get to 192.168.111.111

查看arp条目。

ip neigh

查看网络统计。

ip -s link

查看详细帮助信息。

man ip

每日一题

https://github.com/WindrunnerMax/EveryDay

参考

https://www.computerhope.com/unix/ip.htm https://www.commandlinux.com/man-page/man8/ip.8.html https://www.geeksforgeeks.org/ip-command-in-linux-with-examples/