linux 命令行获取外网和内网 ip地址
外网 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 表示全部。。。