简述查看linux服务器IP的命令,同时只显示包含ip所在的行打印出来 ?
参考答案:
在Linux服务器中,查看IP地址的命令有多种,常用的有ip addr
、ifconfig
(在某些发行版中可能需要安装net-tools
包才能使用)以及hostname -I
。
如果你想要只显示包含IP地址的行,可以使用grep
命令进行过滤。下面是一些示例:
- 使用
ip addr
命令并通过grep
过滤出包含IP的行:
ip addr | grep -oP 'inet \K[\d.]+'
这里使用了grep
的-o
选项来只输出匹配的部分,以及-P
选项来使用Perl兼容的正则表达式。\K
是一个Perl正则表达式的特性,用于重置匹配的开始位置,这样grep
只会输出\K
后面的部分,即IP地址。
- 使用
ifconfig
命令(如果可用)并通过grep
过滤出包含IP的行:
ifconfig | grep 'inet ' | awk '{print $2}'
这里使用了awk
命令来提取每行的第二个字段,即IP地址。注意,ifconfig
命令在某些新版的Linux发行版中可能不可用,因为它被认为是过时的,并被ip
命令所取代。
- 使用
hostname -I
命令直接获取IP地址列表:
hostname -I
这个命令会直接输出服务器的IP地址列表,每行一个IP地址。如果你还想进一步过滤或处理输出,可以将其与其他命令结合使用。
请注意,这些命令的输出可能会因Linux发行版和配置的不同而有所差异。在某些情况下,你可能需要根据你的具体环境和需求调整命令或正则表达式。