Skip to content

获取当前 Unix 机器的公网 IP 地址

标签
命令行/curl
开源/软件/bash
开源/软件/zsh
运维
计算机/操作系统/Linux
操作系统/Linux
计算机/操作系统/Linux/命令行
字数
260 字
阅读时间
2 分钟

先决条件

  • 需要安装 curl

.bashrc 或者 .zshrc 中配置获取 IP 时使用的 alias

shell
# 获取海外 IP
alias globalip="curl -s http://api.myip.la | grep -E -o '((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.?){4}'"
# 获取国内 IP
alias chinaip="curl -s https://myip.ipip.net | grep -E -o '((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.?){4}'"
alias getip='echo "国内 IPv4: $(chinaip)" && echo "海外 IPv4: $(globalip)"'

配置更短的 alias

shell
# 获取海外 IP
alias globalip="curl -s http://api.myip.la | grep -E -o '((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.?){4}'"
# 获取海外 IP 的别名
alias gip="globalip"

# 获取国内 IP
alias chinaip="curl -s https://myip.ipip.net | grep -E -o '((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.?){4}'"
# 获取国内 IP 的别名
alias cip="chinaip"

alias getip='echo "国内 IPv4: $(chinaip)" && echo "海外 IPv4: $(globalip)"'
# 表示 all ip
alias aip="getip"

用法

获取海外 IP

shell
$ globalip
54.1.1.100

如果你配置了 alias 的话还可以:

shell
$ gip
54.1.1.100

获取国内 IP

shell
$ chinaip
222.1.1.30
shell
$ cip
222.1.1.30

获取全部 IP

shell
$ getip
国内 IPv4: 222.1.1.30
海外 IPv4: 54.1.1.100
shell
$ aip
国内 IPv4: 222.1.1.30
海外 IPv4: 54.1.1.100

贡献者

页面历史

撰写