cygwin是一款能够在windows系统上模拟Linux环境的虚拟化工具,用户通过运行cygwin,就可以在打造出类Linux的虚拟环境,并能在虚拟环境中安装使用大部分Linux软件,这样用户就可以学习Linux的操作环境,或是进行一些嵌入式系统的开发工作了。

Cygwin 提供一个UNIX 模拟 DLL 以及在其上层构建的多种可以在 Linux 系统中找到的软件包,在 Windows XP SP3 以上的版本提供良好的支持。Cygwin主要由Red Hat及其下属社区负责维护。
另外还有一个名为MinGW的库,可以跟Windows本地的MSVCRT库(Windows API)一起工作。MinGW占用内存、硬盘空间都比较少,能够链接到任意软件,但它对POSIX规范的实现没有Cygwin库完备。
但糟糕的是,Cygwin不支持Unicode。实际上,除了当前Windows系统以及OEM codepages(例如,一个俄语用户,他的代码页是CP1251和CP866,而不能是KOI8-R、ISO/IEC 8859-5、UTF-8等),Cygwin对其他字符集都不支持。Cygwin 的较新版本可以通过自带终端模拟器的设置来满足显示 UTF-8 和更多代码页的功能。
Red Hat 规定,Cygwin 库遵守 GNU General Public License,但也可以跟符合开源定义的自由软件链接。Red Hat 另有价格不菲的许可协议,这样使用 Cygwin 库的专属软件,就可以进行再发布。
2、完美模拟unix系统的特性
3、Cygwin不干扰电脑主系统的运行
4、Cygwin可以直接调用unix的库
5、可以在其中进行操作与开发
2.调用Mincrosofe Win32 API函数和Cygwin API函数来编写应用程序
3.可以和Unix程序有效地联系起来而无需作太多的更改
4.Cygwin可以用来开发很多GNU软件
5.Cygwin具有很多标准的Unix软件包
运行安装程序

安装目录别为中文名,以免出错,接入网站如果不行,提示错误,那就重新来换一个接入网站

点击【下一步】,

第一个选项是在线安装,第二个选项是只下载不安装(然后手动安装),第三个指你已经下载了安装包,通过已经下载的本地安装包安装,若是第一次安装,选中第一个即可(默认),【下一步】

指定安装目录,下面的单选框默认即可,【下一步】

选择下载的安装包存放路径,【下一步】

选择连接方式,第一个(默认)即可,【下一步】

选择一个镜像站点,任选一个即可,按Ctrl键可选中多个,【下一步】

然后会从选中的镜像站点中下载两个文件,稍等即可,【下一步】

这一步很关键,选择要下载和安装的包,根据你的需要选择包,选的包越多所需的下载时间越长,单击【View】可以在分类、全部、已选之间循环切换,点击每一类前面的加号可以展开,要选中每一个包,只需单击每一行前边像循环的那个图标,会在版本号和Skip之间切换,选一个最新的版本号即可,下边的那个复选框默认即可:

选好后【下一步】下图,会显示你选择的安装包:

单击下一步开始安装,最后会让你让你选择是否生成快捷方式,然后OK了!
以后要安装新的安装包,或是更新,还是通过这个过程,运行setup.exe选择安装包即可。
打开cygwin,通过cd命令进入想要保存程序文件的目录。比如在d盘,就cd d:可以进入d盘,然后cd workspace就进入了workspace目录,当然这个目录我们提前在windows下新建好。

如果查看当前目录下的文件,我么输入ls命令就可以了。如果要编辑现有文件,vim 现有文件名。这里我们新建一个C程序,使用vim new.c新建一个new的c程序。

回车后进入vim的编辑界面。vim有两种模式,命令模式和插入模式。在命令模式下,所有的输入都算是命令,如果是胡乱敲打的键盘,就会声音提示。如果在插入模式下,所有的输入都会显示出来。默认刚开始进入的是命令模式

敲打字符‘’i‘’,就进入了插入模式。我们可以输入自己的程序了。当想要退出到命令模式时,就按esc键。如果发现输入错误了,就需要返回到命令模式,通过键盘上的h、j、k、l来上下左右移动光标,将其移动到需要修改的字符位置。

当需要插入字符时,同样先在命令模式下将光标移动到合适的字符位置,然后进行插入。切换到插入模式,可以按字母i,也可以按字母a,字母i为在光标前插入,a为光标后插入。

当完成程序的编辑后,就可以保存退出了。首先按键esc进入命令模式,然后使用冒号加命令字符。我们用“:wq”就可以了。wq在这里是保存退出。“:q”是不保存退出。还有许多其他的命令,辅助操作让vim更简单,但慢慢去熟悉吧。
退出后就能看到我们新建的C程序文件了。然后按照上一节的内容开始编译运行吧。


使用CYGWIN的gcc编译hello world
打开CYGWIN软件。

输入vim命令,进入文本编辑界面

按键盘上的i键,进去编辑状态。

编写hello world程序
#include
int main(void)
{
printf("hello world");
}

编写完成后,按Esc键后,再按:键,然后输入save hello.c,进行保存你编写的程序。

再按一下:键,输入quit退出编辑文本状态。

然后输入gcc hello.c -o hello,回车

输入ls显示文件,你会看到文件下面多了一个hello.exe,这就是编译后的结果。

输入./hello,执行编写好的程序。



2、到"Select Packages界面","Category " 选择"Uninstall"点击下一步.


3、等Cygwin卸载完成.点击"确定"即可

Cygwin安装后,其根目录位于你的安装目录下。所以使用cd/,只能访问到你的安装目录,要访问硬盘上的其他文件,可以使用mount:
mountD:/testdir~/testdir
这样,你就可以在~/testdir里访问到D:/testdir里的内容了。
使用Cygwin作为X Server
现在的Linux服务器一般都提供X,要从Windows上使用Linux的X,需要在Windows上运行一个X Server。有一些专门为windows开发的软件可以做这个,但是Cygwin自带的X server就可以胜任。
下面举例说明如何使用:
首先你必须安装X11包,然后运行Cygwin shell,输入x&。这时候你的桌面上出出现一个布满斜纹大窗口,这就是我们的X server了,回头Linux机器上的X 程序就会显示在这里。
Windows使用SHELL脚本
将cygwin的BIN加入到PATH
在$CYGWIN的目录/var/下面建一脚本t.sh,注意,t.sh里面的路径,都是相对于$CYGWIN的,里面需要访问C盘的,请用/cygdrive/c/
在Windows下执行:
d:\cygwin\bin\bash d:\cygwin\var\t.sh
同步Windows系统用户
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group
如果有Domain的话,需要加上-d domainname
现象为在点击cygwin.bat运行时,发现一个DOS窗口一闪而过,但没有成功启动Cygwin。
此时,您可以检查cygwin 安装目录下的cygwin.bat文件,在windows的命令行提示符下运行它(即把cygwin.bat拖到cmd里,回车),看看出现什么错误信息。最大的可能是,您的机器以前装过cygwin,但是没有完全卸载。解决方法是:编辑注册表,删除HKEY_LOCAL_MACHINE->SOFTWARE->Cygnus Solutions->Cygwin,然后重新安装Cygwin应可解决该问题.
Cygwin中文乱码的图形界面解决方案
1、双击桌面上的Cygwin图标,启动Cygwin,在Cygwin窗口单击右键,出现以下菜单。

2、选择Option选项,然后进入如下界面。

3、选择Text选项。

4、Locale选择C,Character Set选择GBK,其实是在选择字符集。

5、点击Apply按钮进行应用即可。


【基本介绍】
Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件(该公司开发的着名工具还有eCos,不过现已被Redhat收购)。它对于学习UNIX/Linux操作环境,或者从UNIX到Windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用GNU工具集在Windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对Cygwin产生了兴趣。Cygwin 提供一个UNIX 模拟 DLL 以及在其上层构建的多种可以在 Linux 系统中找到的软件包,在 Windows XP SP3 以上的版本提供良好的支持。Cygwin主要由Red Hat及其下属社区负责维护。
【软件组成】
Cygwin包括了一套库,该库在Win32系统下实现了POSIX系统调用的API;还有一套GNU开发工具集(比如GCC、GDB),这样可以进行简单的软件开发;还有一些UNIX系统下的常见程序。2001年,新增了X Window System。另外还有一个名为MinGW的库,可以跟Windows本地的MSVCRT库(Windows API)一起工作。MinGW占用内存、硬盘空间都比较少,能够链接到任意软件,但它对POSIX规范的实现没有Cygwin库完备。
但糟糕的是,Cygwin不支持Unicode。实际上,除了当前Windows系统以及OEM codepages(例如,一个俄语用户,他的代码页是CP1251和CP866,而不能是KOI8-R、ISO/IEC 8859-5、UTF-8等),Cygwin对其他字符集都不支持。Cygwin 的较新版本可以通过自带终端模拟器的设置来满足显示 UTF-8 和更多代码页的功能。
Red Hat 规定,Cygwin 库遵守 GNU General Public License,但也可以跟符合开源定义的自由软件链接。Red Hat 另有价格不菲的许可协议,这样使用 Cygwin 库的专属软件,就可以进行再发布。
【软件特点】
1、Cygwin给用户带来更加出色的unix体验2、完美模拟unix系统的特性
3、Cygwin不干扰电脑主系统的运行
4、Cygwin可以直接调用unix的库
5、可以在其中进行操作与开发
【软件功能】
1.Cygwin具有可以调用Unix函数的Cygwin库2.调用Mincrosofe Win32 API函数和Cygwin API函数来编写应用程序
3.可以和Unix程序有效地联系起来而无需作太多的更改
4.Cygwin可以用来开发很多GNU软件
5.Cygwin具有很多标准的Unix软件包
【安装方法】
cygwin安装教程图解运行安装程序

安装目录别为中文名,以免出错,接入网站如果不行,提示错误,那就重新来换一个接入网站

点击【下一步】,

第一个选项是在线安装,第二个选项是只下载不安装(然后手动安装),第三个指你已经下载了安装包,通过已经下载的本地安装包安装,若是第一次安装,选中第一个即可(默认),【下一步】

指定安装目录,下面的单选框默认即可,【下一步】

选择下载的安装包存放路径,【下一步】

选择连接方式,第一个(默认)即可,【下一步】

选择一个镜像站点,任选一个即可,按Ctrl键可选中多个,【下一步】

然后会从选中的镜像站点中下载两个文件,稍等即可,【下一步】

这一步很关键,选择要下载和安装的包,根据你的需要选择包,选的包越多所需的下载时间越长,单击【View】可以在分类、全部、已选之间循环切换,点击每一类前面的加号可以展开,要选中每一个包,只需单击每一行前边像循环的那个图标,会在版本号和Skip之间切换,选一个最新的版本号即可,下边的那个复选框默认即可:

选好后【下一步】下图,会显示你选择的安装包:

单击下一步开始安装,最后会让你让你选择是否生成快捷方式,然后OK了!
以后要安装新的安装包,或是更新,还是通过这个过程,运行setup.exe选择安装包即可。
【使用教程】
cygwin中vim编辑器输入打开cygwin,通过cd命令进入想要保存程序文件的目录。比如在d盘,就cd d:可以进入d盘,然后cd workspace就进入了workspace目录,当然这个目录我们提前在windows下新建好。

如果查看当前目录下的文件,我么输入ls命令就可以了。如果要编辑现有文件,vim 现有文件名。这里我们新建一个C程序,使用vim new.c新建一个new的c程序。

回车后进入vim的编辑界面。vim有两种模式,命令模式和插入模式。在命令模式下,所有的输入都算是命令,如果是胡乱敲打的键盘,就会声音提示。如果在插入模式下,所有的输入都会显示出来。默认刚开始进入的是命令模式

敲打字符‘’i‘’,就进入了插入模式。我们可以输入自己的程序了。当想要退出到命令模式时,就按esc键。如果发现输入错误了,就需要返回到命令模式,通过键盘上的h、j、k、l来上下左右移动光标,将其移动到需要修改的字符位置。

当需要插入字符时,同样先在命令模式下将光标移动到合适的字符位置,然后进行插入。切换到插入模式,可以按字母i,也可以按字母a,字母i为在光标前插入,a为光标后插入。

当完成程序的编辑后,就可以保存退出了。首先按键esc进入命令模式,然后使用冒号加命令字符。我们用“:wq”就可以了。wq在这里是保存退出。“:q”是不保存退出。还有许多其他的命令,辅助操作让vim更简单,但慢慢去熟悉吧。
退出后就能看到我们新建的C程序文件了。然后按照上一节的内容开始编译运行吧。


使用CYGWIN的gcc编译hello world
打开CYGWIN软件。

输入vim命令,进入文本编辑界面

按键盘上的i键,进去编辑状态。

编写hello world程序
#include
int main(void)
{
printf("hello world");
}

编写完成后,按Esc键后,再按:键,然后输入save hello.c,进行保存你编写的程序。

再按一下:键,输入quit退出编辑文本状态。

然后输入gcc hello.c -o hello,回车

输入ls显示文件,你会看到文件下面多了一个hello.exe,这就是编译后的结果。

输入./hello,执行编写好的程序。

【卸载方法】
1、找到setup-x86.exe安装包,双击运行,到安装界面.默认选项,下一步.

2、到"Select Packages界面","Category " 选择"Uninstall"点击下一步.


3、等Cygwin卸载完成.点击"确定"即可

【使用技巧】
使用Cygwin访问windows的文件Cygwin安装后,其根目录位于你的安装目录下。所以使用cd/,只能访问到你的安装目录,要访问硬盘上的其他文件,可以使用mount:
mountD:/testdir~/testdir
这样,你就可以在~/testdir里访问到D:/testdir里的内容了。
使用Cygwin作为X Server
现在的Linux服务器一般都提供X,要从Windows上使用Linux的X,需要在Windows上运行一个X Server。有一些专门为windows开发的软件可以做这个,但是Cygwin自带的X server就可以胜任。
下面举例说明如何使用:
首先你必须安装X11包,然后运行Cygwin shell,输入x&。这时候你的桌面上出出现一个布满斜纹大窗口,这就是我们的X server了,回头Linux机器上的X 程序就会显示在这里。
Windows使用SHELL脚本
将cygwin的BIN加入到PATH
在$CYGWIN的目录/var/下面建一脚本t.sh,注意,t.sh里面的路径,都是相对于$CYGWIN的,里面需要访问C盘的,请用/cygdrive/c/
在Windows下执行:
d:\cygwin\bin\bash d:\cygwin\var\t.sh
同步Windows系统用户
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group
如果有Domain的话,需要加上-d domainname
【相关问题】
cygwin不能正常启动的问题与解决方法现象为在点击cygwin.bat运行时,发现一个DOS窗口一闪而过,但没有成功启动Cygwin。
此时,您可以检查cygwin 安装目录下的cygwin.bat文件,在windows的命令行提示符下运行它(即把cygwin.bat拖到cmd里,回车),看看出现什么错误信息。最大的可能是,您的机器以前装过cygwin,但是没有完全卸载。解决方法是:编辑注册表,删除HKEY_LOCAL_MACHINE->SOFTWARE->Cygnus Solutions->Cygwin,然后重新安装Cygwin应可解决该问题.
Cygwin中文乱码的图形界面解决方案
1、双击桌面上的Cygwin图标,启动Cygwin,在Cygwin窗口单击右键,出现以下菜单。

2、选择Option选项,然后进入如下界面。

3、选择Text选项。

4、Locale选择C,Character Set选择GBK,其实是在选择字符集。

5、点击Apply按钮进行应用即可。
