ip a | egrep '([0-9]{1,3}\.){3}[0-9]{1,3}'
有人可以解释一下上面的命令会做什么吗?
答案1
它首先运行ip
带有a
参数的命令,在 Linux 上,该参数是 的简写ip address
,它将输出与您的网络设备及其可能的网络地址相对应的几行的几个节。
然后,该输出被发送到egrep
命令,该命令被要求匹配(打印)其输入中与给定正则表达式匹配的行。正则表达式似乎旨在匹配 IPv4 地址的超集。
正则表达式具体匹配:
(组合在一起)-“0 到 9 之间的任何单个数字:其中 1 到 3 个之间,后跟一个句点”--并要求该组中的三个项目按顺序,
后跟 0 到 9 之间的单个数字:其中 1 到 3 个之间。
IP 地址将与此模式匹配;例如:1.234.56.7
或1.1.1.1
,但非 IPv4 地址也会匹配(如果它们出现在ip a
的输出中),例如:999.888.777.666
甚至1.2.3.999
。