首页 > 技术文章 > linux 命令行获取外网和内网 ip地址

ligaofeng 2020-08-01 15:54 原文

 外网 external IP

curl -s cip.cc | grep IP | cut -d ':' -f 2 | sed 's/^[ ]*//g'

 

curl -s cip.cc    ===>> 访问web服务网址,-s 隐藏统计信息

grep IP   ===>> 找到包含 IP 的那一行

cut -d ':' -f 2    ===>> 以 : 为分割符分割这一行,并返回分割出的第二部分

sed 's/^[ ]*//g' ===>> 去除行首空格

内网 internal IP

ip addr | grep "inet\b" | grep -v "127.0.0.1" | awk '{ print $2 }' | awk -F "/" '{print $1}'

 

ip addr  ===>> 同 ifconfig ,不同的系列叫法(功能)不同而已

grep      ===>> -v 除匹配到的之外的, \b 或者 \< \> 是单词定界标志,echo "hello, world" | grep "\bworld\b" 或 echo "hello, world" | grep "\<world\>"

awk    ===>> 文本分析工具,默认以空格做划分,类似 python 的 split, -F 指定划分符, 必须用 ' ,不然执行不正确,$0 表示全部。。。

 

推荐阅读