代码部署到云服务器 作为互联网软件开发人员,你是不是经常遇到这样的场景:要查服务器 IP,Linux 系统里敲ifconfig没反应,才想起得用ip a;切换到 Windows 电脑,又下意识···
代码部署到云服务器
作为互联网软件开发人员,你是不是经常遇到这样的场景:要查服务器 IP,Linux 系统里敲ifconfig没反应,才想起得用ip a;切换到 Windows 电脑,又下意识输了 Linux 命令,折腾半天才换回ipconfig;偶尔用同事的 macOS,还得百度确认到底用ifconfig还是ipconfig?光是记不同系统的查询命令,就够占用不少工作时间,更别说遇到 查了 IP 却连不上服务器 的情况,还得额外排查是不是混淆了内网和外网 IP。
为什么查 IP 会成为开发 / 运维的 小麻烦?
其实,很多开发同行都被 IP 查询困扰过,核心原因主要有两点。一方面,不同操作系统的底层设计不同,导致 IP 查询命令不统一 ——Linux 和 macOS 基于 Unix 内核,早期都支持ifconfig,但后来 Linux 逐步用ip a替代,macOS 虽保留ifconfig,部分新系统版本也开始兼容ip命令;而 Windows 基于独立内核,一直沿用ipconfig,这就导致大家在多系统环境下工作时,很容易记混命令。
云服务器 防攻击
另一方面,内网 IP 和外网 IP 的用途差异,也让不少人踩过坑。内网 IP 是设备在局域网内的 专属地址,比如公司内网里的服务器 IP、家里路由器分配的电脑 IP,只能在局域网内访问;外网 IP 则是设备在互联网上的 公共地址,要远程连接云服务器、访问外部网站,必须用外网 IP。很多时候,大家查完内网 IP 就直接用来远程连接,自然会出现 连不上 的问题,本质上是没分清两种 IP 的适用场景。
3 类场景 + 全系统,IP 查询方案直接抄
针对不同系统和使用场景,我整理了一套能直接落地的 IP 查询方案,不管你用 Linux、macOS 还是 Windows,都能快速找到需要的 IP。
1. 单系统快速查询:命令直接复制用
Linux 系统:优先用ip a,能显示所有网卡的 IP 信息(包括内网 IP),比如eth0网卡的inet 192.168.1.100/24就是内网 IP;如果想查外网 IP,直接用curl ifconfig.me,会返回当前设备的公网 IP,命令执行后 1 秒出结果,不用手动解析。macOS 系统:两种命令都能用,ifconfig或ipconfig getifaddr en0(en0是无线网卡,有线网卡一般是en1),能快速获取内网 IP;查外网 IP 同样用curl ifconfig.me,和 Linux 通用,不用额外记新命令。Windows 系统:打开 CMD 或 PowerShell,输入ipconfig,找到 以太网适配器 或 无线局域网适配器 下的 IPv4 地址,就是内网 IP;查外网 IP 可以用curl http://ifconfig.me,如果提示 curl 不是内部命令,直接打开浏览器访问ifconfig.me,页面会显示公网 IP。2. 跨平台脚本:一次编写,全系统通用
如果需要频繁在多系统间切换查 IP,写一个跨平台脚本更高效。我整理了 3 个版本的脚本,大家可以根据需求选择:
Python 简化版:不用安装额外依赖,Python 自带库就能运行,执行后会自动识别操作系统,输出内网和外网 IP。importplatformimportrequestsdefget_internal_ip():os_type = platform.system()ifos_type =="Linux"oros_type =="Darwin":importsubprocess result = subprocess.check_output(["ip","a"]).decode()forlineinresult.splitlines():if"inet "inlineandnot"127.0.0.1"inline:returnline.split()[1].split("/")[0]elifos_type =="Windows":importsubprocess result = subprocess.check_output(["ipconfig"]).decode()forlineinresult.splitlines():if"IPv4 Address"inline:returnline.split(":")[-1].strip()return"未获取到内网IP"defget_external_ip():try:returnrequests.get("https://ifconfig.me").text.strip()except:return"未获取到外网IP"if__name__ =="__main__": print(f"内网IP:{get_internal_ip()}") print(f"外网IP:{get_external_ip()}")PowerShell 版:适合 Windows 用户,支持一键运行,还能自动将 IP 结果保存到记事本。获取内网IP$internalIp= (Get-NetIPAddress | Where-Object {$_.AddressFamily -eq"IPv4"-and$_.IPAddress -notlike"127.*"}).IPAddress获取外网IP$externalIp= Invoke-RestMethod -Uri"https://ifconfig.me"输出并保存结果Write-Host"内网IP:$internalIp`n外网IP:$externalIp""内网IP:$internalIp`n外网IP:$externalIp"| Out-File -FilePath"IP查询结果.txt"-Encoding utf83. 特殊场景: / 云服务器 IP 查询
创宇云 服务器
如果用 工作,查 IP 时要注意区分 内网 IP 和 本地内网 IP——Linux/macOS 用ip a会显示 网卡(一般是tun0)的 IP,Windows 在ipconfig里找 适配器 对应的 IPv4 地址;连接云服务器(如阿里云、腾讯云)时,要查 弹性公网 IP(ECS 实例的公网地址),直接在云平台控制台的 实例列表 里就能看到,不用在服务器里查外网 IP,避免混淆。
3 个实用技巧,让 IP 查询更高效
除了基础方案,还有几个技巧能进一步提升 IP 查询效率,帮你少走弯路。
第一,把常用命令添加到 别名。Linux/macOS 用户可以编辑~/.bashrc或~/.zshrc,添加alias ipc=ip a(查内网 IP)、alias ipe=curl ifconfig.me(查外网 IP),保存后执行source ~/.bashrc,下次输入ipc或ipe就能快速查询;Windows 用户可以在 CMD 里用doskey ipc=ipconfig、doskey ipe=curl https://ifconfig.me,设置临时别名,也能减少命令输入时间。
第二,用工具替代手动查询。如果觉得命令行麻烦,开发常用的 FinalShellXshell 等终端工具,连接服务器后会自动显示服务器 IP;本地电脑可以装 Advanced IP Scanner,扫描局域网内所有设备的 IP,不用逐个查询;另外,浏览器插件 IP Address & Location 也能一键显示当前设备的外网 IP 和地理位置,适合快速确认网络环境。
第三,做好 IP 记录和分类。建议建一个表格,记录常用服务器的 内网 IP + 外网 IP + 用途,比如 192.168.1.200(内网)/120.XX.XX.XX(外网)- 测试环境 MySQL 服务器,方便随时查阅;如果团队共用服务器,用 飞书表格腾讯文档 共享记录,还能避免多人重复查询、记混 IP 的问题。
总结:查 IP 不麻烦,找对方法是关键
其实,IP 查询本身并不复杂,之所以成为 小麻烦,主要是因为没理清 系统命令差异 和 内网 / 外网 IP 用途 这两个核心点。只要记住不同系统的基础命令,或者用跨平台脚本、工具简化操作,就能把查询时间从 几分钟 缩短到 几十秒。
作为开发 / 运维人员,高效处理这些基础工作,才能把更多时间放在核心业务上。你平时查 IP 时还遇到过哪些问题?是脚本运行报错,还是特殊网络环境下查不到 IP?欢迎在评论区分享你的经历,咱们一起交流更实用的解决方案;如果觉得这篇内容有用,也可以转发给团队同事,让大家都能少走弯路~
云服务器怎么安装

发表评论
最近发表
标签列表