商店
Cygwin
0
1995年10月18日
概述
Cygwin 是一个在 Microsoft Windows 上提供 类 Unix 环境 的大型开源项目,让 Windows 用户可以直接在命令行中使用 Linux/Unix 常用的工具、Shell 和编程环境,而无需安装虚拟机或双系统。 它由 Red Hat 员工 Steve Chamberlain 于 1995年 发起,现由 Cygwin Project(隶属于 Red Hat)维护,官网 cygwin.com,采用 GPL v3 + 例外条款(核心 DLL 为 LGPL)。简单说:Cygwin = cygwin1.dll(POSIX 兼容层) + 数千个移植到 Windows 的 GNU/开源软件包(bash、gcc、make、git、vim、python、rsync、wget、openssh…)。
历史与发展
- 1995年10月:Steve Chamberlain(Cygnus Solutions,后被 Red Hat 收购)发布第一个版本 。
- 1996–1998年: 加入 bash、gcc、GNU 工具链,成为完整 Unix-like 环境 。
- 2000年:Red Hat 收购 Cygnus,Cygwin 正式由 Red Hat 维护 。
- 2001年:引入 setup.exe 图形安装程序(至今仍在使用)。
- 2013年:支持 64 位 Windows(Cygwin 1.7.18 开始)。
- 2016年:发布 Cygwin 2.5,默认使用 UTF-8,支持 Windows 10。
- 2022年:Cygwin 3.4 系列支持 Windows 11 和 ARM64(实验性)。
- 2025年10月: Cygwin 3.5.4 发布:原生 ARM64、更好的 Windows 11 24H2 兼容性、mintty 升级。
主要特点
- POSIX 兼容层: cygwin1.dll 提供 fork、pipe、signal、select/poll 等 Unix 系统调用 。
- 软件包数量:超过 15,000 个(包括 gcc、python3、git、vim、rsync、openssh、wget、curl、tmux 等)。
- 终端:默认使用 mintty(支持 256 色、真彩色、鼠标、滚动条。
- Shell :默认 bash,也可安装 zsh、fish、tcsh 等。
- 文件系统:支持 Unix 权限(chmod/chown)、符号链接、/home、/tmp 等路径。
- 编译器:gcc、clang、go、rust、python、nodejs 等全部可用。
- 包管理器:setup-x86_64.exe(图形化)或 apt-cyg、cyg-apt(类 apt)。
- ARM64 支持:2025年起原生支持 Windows on ARM(Surface Pro X、ThinkPad X13s 等)。
- UTF-8 默认:从 3.4 开始默认全系统 UTF-8,无需额外设置。
- 与 Windows 互操作:可直接访问 C:\ (/cygdrive/c)、运行 .exe、PowerShell、WSL 共存。
优势与局限性
优势
- 完全兼容老版本 Windows(Win7 仍支持)。
- 软件包最全(15,000+)。
- 与 Windows 程序无缝交互(可直接调用 exe)。
- 支持 ARM64 Windows。
- 长期稳定(30年历史)。
局限性(相比 WSL)
- 性能略低于原生 Linux 和 WSL2(系统调用开销) 。
- fork() 性能较差(大进程复制慢)。
- 某些 GUI 程序需要 X Server(已较少使用)。
- 文件权限在 NTFS 上有局限(需 cygserver)。
- 安装包体积大(基础安装约 2-3GB)。
总结
Cygwin 是 Windows 上最老牌、最完整的类 Unix 环境,2025年已进化到 3.5.4,支持 Windows 11 24H2、原生 ARM64、默认 UTF-8,拥有 15,000+ 软件包。 它特别适合:仍然必须使用 Windows 但想保留 Linux 工具链的开发者;需要在 Windows 上编译 Linux 软件、运行 bash 脚本、用 rsync/ssh 的用户;在 ARM64 Windows 设备(如 Surface Pro X)上需要完整 Unix 工具链的场景。一句话评价: Cygwin 不再是唯一选择,但仍是 Windows 上最“原汁原味”的 Unix 体验,尤其在兼容性和软件包数量上无人能敌。


