跳到主要内容

简述查看linux服务器IP的命令,同时只显示包含ip所在的行打印出来 ?

参考答案:

在Linux服务器中,查看IP地址的命令有多种,常用的有ip addrifconfig(在某些发行版中可能需要安装net-tools包才能使用)以及hostname -I

如果你想要只显示包含IP地址的行,可以使用grep命令进行过滤。下面是一些示例:

  1. 使用ip addr命令并通过grep过滤出包含IP的行:
ip addr | grep -oP 'inet \K[\d.]+'

这里使用了grep-o选项来只输出匹配的部分,以及-P选项来使用Perl兼容的正则表达式。\K是一个Perl正则表达式的特性,用于重置匹配的开始位置,这样grep只会输出\K后面的部分,即IP地址。

  1. 使用ifconfig命令(如果可用)并通过grep过滤出包含IP的行:
ifconfig | grep 'inet ' | awk '{print $2}'

这里使用了awk命令来提取每行的第二个字段,即IP地址。注意,ifconfig命令在某些新版的Linux发行版中可能不可用,因为它被认为是过时的,并被ip命令所取代。

  1. 使用hostname -I命令直接获取IP地址列表:
hostname -I

这个命令会直接输出服务器的IP地址列表,每行一个IP地址。如果你还想进一步过滤或处理输出,可以将其与其他命令结合使用。

请注意,这些命令的输出可能会因Linux发行版和配置的不同而有所差异。在某些情况下,你可能需要根据你的具体环境和需求调整命令或正则表达式。