Back to Unix-like System

See also LinuxMinGW

Cygwin

Cygwin (/ˈsɪɡwɪn/ SIG-win) 是一个运行在 Windows 平台下的类 Unix 环境和命令行接口。

1. History

Cygwin始于1995年,最初作为Cygnus工程师Steve Chamberlain的一个项目。当时Windows NT和Windows 95将COFF作为目标代码,而GNU已经支持x86和COFF,以及C语言库newlib。这样至少在理论上,可以将GCC重定向,作为交叉编译器,从而产生能在Windows上运行的可执行程序。在后来的实践中,这很快实现了。

接下来的问题是如何在Windows系统中引导编译器,这需要对Unix的足够模拟,以使Autoconf的shell script可以运行,这样就用到像bash这样的shell,进而需要Fork和standard I/O。Windows含有类似的功能,所以Cygwin库只需要进行翻译调用、管理私有数据,比如文件描述符。

1996年后,由于看到cygwin可以提供Windows系统上的Cygnus嵌入式工具(以往的方案是使用DJGPP),其他工程师也加入了进来。特别吸引人的是,Cygwin可以实现three-way cross-compile,例如可以在Sun工作站上build,如此就形成Windows-x-MIPS cross-compiler,这样比单纯在PC上编译要快不少。1998年起,Cygnus开始将Cygwin包作为产品来提供。

2. Features

3. Tools

3.1. apt-cyg

Cygwin Package Search

# Install
lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin
# Usage
apt-cyg install php php-pear php-mbstring
apt-cyg listall php

3.2. Oh-My-Zsh

https://www.chrisyue.com/install-oh-my-zsh-on-cygwin.html

# Install
apt-cyg install zsh curl git
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
在 .bashrc 文件最后添加代码 exec /bin/zsh

4. Reference


CategorySystem

MainWiki: Cygwin (last edited 2014-04-06 20:30:35 by twotwo)