Ubuntu中Golang编译生成的二进制文件在哪
在Ubuntu系统中,使用gobuild默认将二进制文件生成在当前工作目录。通过-o选项可自定义输出路径和文件名,结合GOOS和GOARCH可进行交叉编译。注意输出到系统目录需相应权限,建议将编译产物加入.gitignore。
在Ubuntu系统下用Golang开发,最基础的问题之一就是:编译出来的二进制文件到底放在哪?默认情况下,答案很简单——就在你执行go build命令的那个目录里。不过,实际开发中我们往往需要更灵活的控制,比如把可执行文件放到指定路径,或者交叉编译到其他平台。下面就来详细说说这些门道。

一、默认输出位置
在Ubuntu系统中,使用go build命令编译Golang项目时,默认会将二进制文件生成在当前工作目录下。这里的“当前工作目录”指执行go build命令时终端所在的目录。举个例子,如果你的项目源码位于/home/user/projects/hello目录,并且你就在这个目录下执行go build,那么编译生成的二进制文件会直接出现在/home/user/projects/hello中。二进制文件的名称默认与项目目录名或main包所在文件名一致——如果项目目录名叫hello,二进制文件就叫hello;如果源文件是main.go,有时会生成main.out,但更常见的是直接取目录名。总之,默认行为就是“原地生成”,简单直接。
二、自定义输出路径的方法
如果需要把二进制文件放到指定目录,或者想换个文件名,用go build的-o(output)选项就能搞定。基本格式是:go build -o <输出路径/文件名> <源文件或包路径>。下面看几个典型场景。
- 示例1:指定目录和文件名 想把二进制文件输出到
/usr/local/bin目录,并命名为myapp,命令是:go build -o /usr/local/bin/myapp main.go。执行后二进制文件会保存在/usr/local/bin/myapp。注意,这需要当前用户对/usr/local/bin有写入权限,否则得用sudo提升权限。 - 示例2:输出到项目内的
bin目录 为了保持项目结构整洁,推荐在项目根目录下建一个bin文件夹专门存放编译产物。然后这样操作:go build -o bin/myapp ./cmd/server。这会把./cmd/server包编译出的可执行文件保存到bin文件夹里。记得提前创建好bin目录(mkdir -p bin)。 - 示例3:跨平台编译并自定义输出 假如你在Ubuntu上想编译一个Windows可执行文件,可以结合
GOOS(目标操作系统)、GOARCH(目标架构)环境变量和-o选项。例如:GOOS=windows GOARCH=amd64 go build -o bin/myapp.exe ./main.go。这样就会生成Windows平台的myapp.exe,并保存到项目根目录下的bin中。
三、注意事项
- 权限问题:如果把二进制文件输出到系统目录(比如
/usr/local/bin),务必确保当前用户有足够权限。通常的做法是加sudo,比如sudo go build -o /usr/local/bin/myapp main.go。 - 版本控制:编译产物(二进制文件)通常不应该被提交到Git仓库。建议把
bin目录添加到.gitignore文件中,比如加上一行bin/,这样仓库里只保留源码,干净清爽。
Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。
Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。
Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。
PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。
Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等
Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。













