windows如何使用 linux 命令以及 make 命令
作为长期在 Windows 系统上开发的人,我太懂想直接用 Linux 命令的痛了——比如 ls、grep 这些顺手的命令,还有编译项目必备的 make 命令,总不能为了这个专门装个 Linux 系统吧?
后来试了好几种方案,总结出 WSL、Cygwin、Git Bash 这三种最实用的方法,每种都有自己的适配场景。
今天就把这些亲测有效的经验分享出来。希望对大家有所帮助
方案一:WSL(Windows Subsystem for Linux)
官方首选,兼容性拉满
WSL 是微软推出的 Windows 子系统,相当于在 Windows 里跑了个轻量 Linux 内核,能直接用几乎所有 Linux 命令,make 命令也能完美支持,强烈推荐开发人员用。
操作步骤:
-
启用 WSL 功能:按下
Win + R输入control打开控制面板,依次进入「程序和功能」→「启用或关闭 Windows 功能」,勾选「适用于 Linux 的 Windows 子系统」和「虚拟机平台」,点击确定后重启电脑。 -
安装 Linux 分发版:打开 Microsoft Store,搜索 Ubuntu(推荐新手)、Debian 等,点击安装。安装完成后在开始菜单找到对应的分发版,首次打开会提示设置用户名和密码(记住这个密码,后续sudo会用到)。
-
验证 Linux 命令:在分发版终端里输入
ls查看目录,pwd查看当前路径,whoami查看当前用户,能正常输出就说明没问题了。
方案二:Cygwin
轻量灵活,按需安装组件
Cygwin 是一个在 Windows 上运行的类 Unix 模拟环境,核心是通过动态链接库实现 Linux 系统调用。它的优势是轻量,能按需安装组件,不想装完整子系统的可以选这个。
操作步骤:
-
下载安装程序:从 Cygwin 官网(https://www.cygwin.com/)下载 setup-x86_64.exe(64位系统)。
-
逐步安装并选择组件:双击运行安装程序,默认下一步即可,到「Select Packages」步骤时,在搜索框输入需要的组件:想装基础命令就搜
coreutils,想装make就搜make,找到后点击组件名前面的「Skip」变成版本号,就能安装了。 -
启动并验证:安装完成后打开 Cygwin Terminal,输入
ls -l、make --version,能正常显示就成功了。
方案三:Git Bash
附带福利,装 Git 就送
这个太适合临时在 windows 上使用 linux 命令的开发者了
如果你电脑上已经装了 Git(开发人员基本都装了),那 Git 自带的 Git Bash 就能直接用大部分 Linux 命令,不用额外装软件,堪称“懒人福利”。
不过它的命令支持不如前两种全面,适合简单场景使用。
操作步骤:
-
安装 Git:从 Git 官网(https://git-scm.com/)下载对应系统版本,安装时一路默认即可,安装完成后会有 Git Bash 选项。
-
启动并验证:右键点击桌面或文件夹,选择「Git Bash Here」,输入
ls、grep等命令,能正常运行就可以了。
注意:但要注意,Git Bash 默认没有
make命令,需要额外配置,后面【常见问题】会讲
特殊方案:gomake
只针对 go 开发者,并且只是单纯想使用 make
gomake@latest 这是一个 github 仓库,需要下载安装,如果你是 golang 语言开发者,那么这个方案也非常适合你
直接执行命令
go install github.com/efimovalex/gomake@latest安装后直接执行:
make如果出现类似: command not found: make make 命令没找到
那么有两种情况:
-
- 没有安装成功,重新执行安装命令,并且留意执行过程是否有报错
-
- 进入 GOPATH/src/bin 目录,查看是否有类似 gomake.exe、*make.exe 之类的可执行文件,然后重命名为 make 即可
常见问题
Q1. WSL 启动失败,提示“WSL 2 安装不完整”?
原因是没装 WSL 2 内核更新包。解决方案:从微软官网下载 WSL 2 内核更新包(官网链接),双击安装后,在终端执行 wsl --set-default-version 2,再重启分发版即可。
Q2. 执行 make 时提示“go: command not found”?
原因是没在 WSL/Cygwin 里安装 GO 环境。解决方案:在 WSL 终端执行 sudo apt install golang(Ubuntu),安装完成后用 go version 验证,Cygwin 则在安装程序里搜 golang 组件安装。
Q3. Git Bash 里没法用 make 命令?
Git Bash 本身不自带 make,需要额外安装 MinGW-w64。
解决方案:下载 MinGW-w64 安装程序(官网链接),安装时选择架构,然后把 MinGW-w64 的 bin 目录(比如 C:\Program Files\MinGW-w64\mingw64\bin)添加到 Windows 环境变量,重启 Git Bash 后就能用 make 了。
4. 执行 make 编译 GO 项目时,提示“找不到 utils 包”?
原因:没初始化 GO 模块,导致包引用失败。
解决方案:确保 Makefile 里有 go mod init 模块名 这一步,首次执行 make build 时会自动初始化,之后再编译就不会报错了。
总结
这三种方案各有侧重:WSL 是微软官方方案,兼容性最强;Cygwin 轻量灵活;Git Bash 适合已装 Git 的开发者。
如果是长期开发、需要完整 Linux 环境,选 WSL,兼容性和稳定性都最好;
如果只是偶尔用几个命令,不想装太多东西,选 Git Bash(已装 Git 的话);
如果需要轻量且精准控制组件,选 Cygwin。
其实不管选哪种,核心都是通过模拟或子系统实现 Linux 命令的运行,熟悉之后跨环境开发效率会提升不少。
如果还有其他问题,欢迎在评论区交流~
版权声明
未经授权,禁止转载本文章。
如需转载请保留原文链接并注明出处。即视为默认获得授权。
未保留原文链接未注明出处或删除链接将视为侵权,必追究法律责任!
本文原文链接: https://fiveyoboy.com/articles/windows-linux-cmd-make/
备用原文链接: https://blog.fiveyoboy.com/articles/windows-linux-cmd-make/