网站首页 > 开源技术 正文
声明: 本文中所表达的观点和信息仅代表作者个人的法,如发现错误或不准确之处,欢迎指出,谢谢!欢迎在评论区一起交流!
Windows下类Unix环境的软件对比
软件 | Git Bash | MinGW | WSL/WSL2 | Cygwin | MSYS2 |
简介 | Git Bash 是一款在 Windows 操作系统上运行的命令行工具,结合了 Git 和 Bash 的功能,为用户提供了一个仿 UNIX 的环境,使他们能够使用熟悉的 Bash 命令行及其强大的命令行操作能力,同时也包含了 Git 的版本控制工具。 | MinGW(Minimalist GNU for Windows)是GNU编译器集合(GCC)在Windows操作系统上的一个本地移植版本。它提供了可以自由分发的导入库和头文件,使开发人员能够在Windows平台上构建原生应用程序。 | WSL(Windows Subsystem for Linux)是微软为 Windows 操作系统提供的一个兼容层,允许用户直接在 Windows 上运行 Linux 发行版的应用和工具。WSL 的主要目的是为开发者提供一种在 Windows 上无缝运行 Linux 命令行的体验,而无需创建虚拟机或双重启动。 | Cygwin 是一个为 Windows 操作系统提供的一个大型开源工具集,旨在为 Windows 用户提供类 Unix 的环境。它通过一层 POSIX 兼容层,允许用户在 Windows 上运行许多 Linux 和 Unix 应用程序。Cygwin 包括一个动态链接库(Cygwin DLL),该库为大多数 POSIX API 提供了实现。 | MSYS2 是一个轻量级的开发环境,源自于 MinGW 和 MSYS,旨在为开发者在 Windows 上提供一个更现代和灵活的工具集。它为构建跨平台的软件提供了一个基于 Unix 的环境,结合了包装管理器和多个开发工具。用户可以在 MSYS2 中方便地使用 Linux 风格的工具和开发库。 |
官方网站 | https://git-scm.com/ | https://sourceforge.net/projects/mingw/ | https://learn.microsoft.com/en-us/windows/wsl/ | https://www.cygwin.com/ | https://www.msys2.org/ |
软件包管理器 | - | - | apt | - | pacman |
特点 | - 提供仿 Unix 的 shell,用户可以使用 Bash 命令。 | - 提供了对 Windows API 的直接访问,开发原生 Windows 应用。 | - 提供一个近乎原生的 Linux 体验,直接运行 Linux 二进制文件。 | - 提供完整的 POSIX 兼容层,支持许多 Unix/Linux 工具和应用程序。 | - 使用 pacman 包管理器,支持安装和管理软件包。 |
笔者原先使用 Git Bash + Zsh + Oh My Zsh 的方案,后面切换成 MYSY2 + Zsh + Oh My Zsh ,最重要的原因是MSYS2的包管理器。
安装MSYS2
打开 https://www.msys2.org/#installation
按照指引下载安装包并进行安装。
MSYS2提供了一系列环境(https://www.msys2.org/docs/environments/):
- MSYS
- UCRT64
- CLANG64
- CLANGARM64
- CLANGARM64
可以根据需求选择。没有特别的要求可以按文档的建议使用 UCRT64。
安装 Zsh
Windows菜单搜索MSYS2 UCRT64应用并打开,可以看到一个终端窗口。
# 输入y确认
pacman -S zsh
安装 Oh My Zsh
打开 https://ohmyz.sh/#install 使用 curl 或 wget:
# 使用 curl
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 或者wget
sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
安装完可以选择主题(https://github.com/ohmyzsh/ohmyzsh/wiki/Themes)
编辑 ~/.zshrc文件(搜索ZSH_THEME),填写心仪的主题,笔者之前使用的是maran
ZSH_THEME="maran" # robbyrussell"
修改之后保存,执行
source ~/.zshrc
打开一个git管理的代码仓库,maran的效果如
user@hostname:/e/workspaces/myrepo git:(master*) $
安装 powerlevel10k
Powerlevel10k 是一个 Zsh 主题,它强调速度、灵活性和开箱即用的体验。
在速度方面有一些提升,感兴趣的朋友可以尝试。
地址:https://github.com/romkatv/powerlevel10k
# 安装
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
# 重启zsh
exec zsh
# 配置:会弹窗提示选择样式
p10k configure
IDE配置终端使用MSYS2
https://www.msys2.org/docs/ides-editors/ 列举了如何配置Sublime Text和Visual Studio Code。
Jetbrains配置: FIle - Settings - Tools - Terminal - Application Settings - Shell path 填写以上链接中的类似命令:
C:\\msys64\\msys2_shell.cmd -defterm -here -no-start -ucrt64
参考文档
- https://www.softpost.org/c-language/differences-between-cygwin-mingw-wsl-windows-subsystem-for-linux-msys2-and-git-bash
猜你喜欢
- 2025-01-21 Windows7 上运行docker实战
- 2025-01-21 Windows 10下使用编译并使用openCV
- 2025-01-21 FFmpeg编译与集成
- 2025-01-21 在termux上安装alist并配置aria2下载
- 2025-01-21 FFMPEG定制化编译指南
- 2025-01-21 Windows下最简单的ESP8266_ROTS_ESP-IDF环境搭建与腾讯云SDK编译
- 2025-01-21 ESP8266官方SDK快速入门01-开发环境搭建
- 2025-01-21 【从零开始】11. LLaMA-Factory 微调 Qwen 模型(番外篇)
- 2025-01-21 使用Python Shells绕过杀毒软件
- 2025-01-21 开源应用!Windows中运行Docker客户端
你 发表评论:
欢迎- 05-14WP8.1 GDR1的NTP时间同步没有解决问题
- 05-14抑郁症与焦虑症(四):补充色氨酸,5HTP的作用
- 05-14ntp服务器多久同步一次呢
- 05-14简单三步,轻松解决NVR时间不同步问题
- 05-14Linux的300+个真实运维场景——19 NTP 配置与管理
- 05-14海康威视录像机时间不准怎么办录像机无法查看回放录像,NTP校时
- 05-14安全加倍,解密极氪001电池安全技术
- 05-14海康威视录像机NTP服务器
- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)