目录

windows如何使用 linux 命令以及 make 命令

作为长期在 Windows 系统上开发的人,我太懂想直接用 Linux 命令的痛了——比如 lsgrep 这些顺手的命令,还有编译项目必备的 make 命令,总不能为了这个专门装个 Linux 系统吧?

后来试了好几种方案,总结出 WSL、Cygwin、Git Bash 这三种最实用的方法,每种都有自己的适配场景。

今天就把这些亲测有效的经验分享出来。希望对大家有所帮助

方案一:WSL(Windows Subsystem for Linux)

官方首选,兼容性拉满

WSL 是微软推出的 Windows 子系统,相当于在 Windows 里跑了个轻量 Linux 内核,能直接用几乎所有 Linux 命令,make 命令也能完美支持,强烈推荐开发人员用。

操作步骤:

  1. 启用 WSL 功能:按下 Win + R 输入 control 打开控制面板,依次进入「程序和功能」→「启用或关闭 Windows 功能」,勾选「适用于 Linux 的 Windows 子系统」和「虚拟机平台」,点击确定后重启电脑。

  2. 安装 Linux 分发版:打开 Microsoft Store,搜索 Ubuntu(推荐新手)、Debian 等,点击安装。安装完成后在开始菜单找到对应的分发版,首次打开会提示设置用户名和密码(记住这个密码,后续sudo会用到)。

  3. 验证 Linux 命令:在分发版终端里输入 ls 查看目录,pwd 查看当前路径,whoami 查看当前用户,能正常输出就说明没问题了。

方案二:Cygwin

轻量灵活,按需安装组件

Cygwin 是一个在 Windows 上运行的类 Unix 模拟环境,核心是通过动态链接库实现 Linux 系统调用。它的优势是轻量,能按需安装组件,不想装完整子系统的可以选这个。

操作步骤:

  1. 下载安装程序:从 Cygwin 官网(https://www.cygwin.com/)下载 setup-x86_64.exe(64位系统)。

  2. 逐步安装并选择组件:双击运行安装程序,默认下一步即可,到「Select Packages」步骤时,在搜索框输入需要的组件:想装基础命令就搜 coreutils,想装 make 就搜 make,找到后点击组件名前面的「Skip」变成版本号,就能安装了。

  3. 启动并验证:安装完成后打开 Cygwin Terminal,输入 ls -lmake --version,能正常显示就成功了。

方案三:Git Bash

附带福利,装 Git 就送

这个太适合临时在 windows 上使用 linux 命令的开发者了

如果你电脑上已经装了 Git(开发人员基本都装了),那 Git 自带的 Git Bash 就能直接用大部分 Linux 命令,不用额外装软件,堪称“懒人福利”。

不过它的命令支持不如前两种全面,适合简单场景使用。

操作步骤:

  1. 安装 Git:从 Git 官网(https://git-scm.com/)下载对应系统版本,安装时一路默认即可,安装完成后会有 Git Bash 选项。

  2. 启动并验证:右键点击桌面或文件夹,选择「Git Bash Here」,输入 lsgrep 等命令,能正常运行就可以了。

注意:但要注意,Git Bash 默认没有 make 命令,需要额外配置,后面【常见问题】会讲

特殊方案:gomake

只针对 go 开发者,并且只是单纯想使用 make

gomake@latest 这是一个 github 仓库,需要下载安装,如果你是 golang 语言开发者,那么这个方案也非常适合你

直接执行命令

go install github.com/efimovalex/gomake@latest

安装后直接执行:

make

如果出现类似: command not found: make make 命令没找到

那么有两种情况:

    1. 没有安装成功,重新执行安装命令,并且留意执行过程是否有报错
    1. 进入 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/