get public ip linux

C++
#4 Ways to Find Server Public IP Address in Linux Terminal
#1. Using dig Utility
dig +short myip.opendns.com @resolver1.opendns.com
#2. Using host Utility
host myip.opendns.com resolver1.opendns.com | grep "myip.opendns.com has" | awk '{print $4}'
#3. Using wget Command Line Downloader
wget -qO- http://ipecho.net/plain | xargs echo
wget -qO - icanhazip.com
#4. Using cURL Command Line Downloader
 curl ifconfig.co
 curl ifconfig.me
 curl icanhazip.com

curl ifconfig.me$ wget -qO- http://ipecho.net/plain | xargs echo
$ wget -qO - icanhazip.com

120.88.41.175

Source

Also in C++: