Cygwin 是一款用于在Windows上模拟Linux环境的软件,运行Cygwin后,就可以得到一个类似Linux的Shell环境,它可以作为那些虚拟机软件的一个部分替代品。Cygwin对于学习UNIX/Linux操作环境,或者从UNIX到Windows的应用程序移植,或者进行某些特殊的开发工作是非常有帮助的。

中文名
UNIX模拟环境
外文名
Cygwin
开发者
cygnus solutions公司
类    型
自由软件,GNU 软件包移植
最新版本
1.7.32 (2014 年 8 月 14 日)
运行平台
Windows
始    于
1995年

1软件介绍

编辑本段 回目录

1cygwin

Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件(该公司开发的著名工具还有eCos,不过现已被Redhat收购)。它对于学习UNIX/Linux操作环境,或者从UNIX到Windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用GNU工具集在Windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对Cygwin产生了兴趣。

Cygwin 提供一个UNIX 模拟 DLL 以及在其上层构建的多种可以在 Linux 系统中找到的软件包,在 Windows XP SP3 以上的版本提供良好的支持。Cygwin主要由Red Hat及其下属社区负责维护。

2组成模块

编辑本段 回目录

1cygwin

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 库的专属软件,就可以进行再发布。

3工作机制

编辑本段 回目录

cygnus当初首先把gcc,gdb,gas等开发工具进行了改进,使他们能够生成并解释win32的目标文件。然后,他们要把这些工具移植到windows平台上去。一种方案是基于win32 api对这些工具的源代码进行大幅修改,这样做显然需要大量工作。因此,他们采取了一种不同的方法——他们写了一个共享库(就是cygwin dll),把win32 api中没有的unix风格的调用(如fork,spawn,signals,select,sockets等)封装在里面,也就是说,他们基于 win32 api写了一个unix系统库的模拟层。这样,只要把这些工具的源代码和这个共享库连接到一起,就可以使用unix主机上的交叉编译器来生成可以在 windows平台上运行的工具集。以这些移植到windows平台上的开发工具为基础,cygnus又逐步把其他的工具(几乎不需要对源代码进行修改,只需要修改他们的配置脚本)软件移植到windows上来。这样,在windows平台上运行bash和开发工具、用户工具,感觉好像在unix上工作。

4安装教程

编辑本段 回目录

1cygwin

1、 双击运行cyg_win_setup.exe 安装程序安装时,请用管理员账户安装(你的电脑的登录用户是Administor身份)!!安装过程中,有时候会停止不动,不要强行关闭,不是死机,只是进行的很慢!

2. 选择"Install from Local Directory"安装;

3、选择安装包时不建议都选上,因为安装时间较长、占用磁盘空间过大。

OpenSSL和OpenSSH-------sshd的服务包、

cygrunsrv------cygwin的服务包、

sed------Base Category下的,方便在ecliPSe使用Hadoop

vim ---Editors Category下的,方便在Cygwin上修改分配置文件

subversion ------Devel Category下的

4、配置环境变量时,JAVA_HOME指向jdk安装目录,Path路径中添加JDK的bin目录、jre的bin目录和Cygwin的bin目录,usr的sbin目录;

变量名为:CYGWIN,变量值为:ntsec mintty (tty1.17版本不支持tty)

或者不添加环境变量,而是直接修改cygwin.bat文件,在@echo off之后加入“set CYGWIN=ntsec mintty“ 即可。不设置在安装ssh-host-config时也是需要输入的)

5、建议修改.sh文件时,使用vi命令修改。

【安装成功后注意:】

1、第一次运行cygwin会产生home/用户名文件夹,在这个文件夹下(c:\cygwin\home\当前用户)生成三个配置文件,.bashrc,.bash_profile和.inputrc文件,这三个文件中最重要的是.bashrc文件,用户以后要自定义环境变量要用到该文件。

(使用Cygwin Terminal,更改其相关属性option,相关信息会生成在.minttyrc文件中)

2).locale是查看本地编码

修改Cygwin编码

Cygwin中文乱码:

右键--option---text--手动修改---Locale(zh-GN),Character set(GBK Chinese);

固定修改:

cygwin设置中文

cygwin\home\用户名\.bashrc

# 让ls和dir命令显示中文和颜色

alias ls='ls --show-control-chars --color'

alias dir='dir -N --color'

# 设置为中文环境,使提示成为中文

export

# 输出为中文编码

export OUTPUT_CHARSET="GBK"

cygwin\home\username\.inputrc

# 可以输入中文

set meta-flag on

set output-meta on

set convert-meta off

# 忽略大小写

set completion-ignore-case on

3).对于cygwin1.71版本,CYGWIN= tty是不再支持!

若之前使用的是这个tty环境变量,重新安装注册表中不会自动更新

打开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\sshd\Parameters\Environment,编辑修改字符串的值【修改成你现在cygwin的执行程序的路径】

5使用方法

编辑本段 回目录

1cygwin

1、cygwin使用心得

A).在cygwin里访问Windows盘

cd /cygdrive/c

cd c:

2、整合cygwin命令到Windows中

假设cygwin安装在d:/develop/cygwin,则将d:/develop/cygwin/bin添加到系统变量PATH中(最好加在windows前面,这样的话,有些相同的命令的话,是先执行cygwin的命令,而不是windows命令,比如find)

就可以直接在cmd.exe下面执行tar czvf xxx.tgz ./

基本上所有的命令都可以用了,包括ls,more,less,find,grep等。

3、使用TGZ备份

将cygwin的BIN加入到PATH

建一个BAT文件:

@echo off

d:

cd d:\website\8thmanage

tar czvf 8thmanage.tgz 8thmanage

4.恢复Cygwin快捷方式

由于某些原因,不小心把Cygwin的快捷方式删掉了,但又找不到原程序的位置。很多人(包括本人)很受挫,索性把Cygwin重装。但是Cygwin里面辛辛苦苦建立起来的开发环境却因此一去不复返。岂不痛哉?

这里介绍手动创建Cygwin的快捷方式。

(1)首先说明一点,Cygwin的快捷方式实际上是指向一个名为Cygwin.bat的批处理文件,而不是大家常见到的.exe文件。其实原理是一样的,批处理文件跟exe文件一样都是可执行文件,不同的是现在批处理很少见了,而安全防卫软件通常就把批处理文件当成有问题程序给删掉了。

(2)找到Cygwin安装文件夹,本人安装在D:\cygwin,注意这个文件应该是真正的程序存放位置,这个目录下必须有这几个文件夹:bin, cygdriver, dev, etc, home, lib… 。

现在在刚才的目录下(D:\cygwin)创建文件 “Cygwin.bat”,注意:后缀一定是.bat。

然后编辑此文件,在其中加入如下代码:

@echo off

(此行是空格)

D:

chdir D:\cygwin\bin

set LANG=en_US.utf8

bash –login -i

最后给此文件创建快捷方式到桌面

现在工作基本完成了,唯一不足的是刚才创建的快捷方式图标是刚才的批处理文件的图标,而不是原先安装时的图标。

(3)在刚才的文件夹(D:\cygwin)下找到Cygwin.ico,正是这个图片。

现在到刚才的快捷方式上:右键–>属性–>更改图标–>浏览–>找到Cygwin.ico–>确定

6、.命令 --help查看该命令的帮助;

文件/目录权限设置命令:chmod 这是Linux系统管理员最常用到的命令之一,

它用于改变文件或目录的访问权限。该命令有两种用法: 用包含字母和操作符表达式的文字设定法 其语法格式为:chmod [who] [opt] [mode] 文件/目录名 其中who表示对象,是以下字母中的一个或组合: u:表示文件所有者 g:表示同组用户 o:表示其它用户 a:表示所有用户 opt则是代表操作,可以为: +:添加某个权限 -:取消某个权限 =:赋予给定的权限,并取消原有的权限。

词条图片

参考资料

[添加]
[1].爱站软件园:Cygwin (模拟Linux环境的软件)
[2].西西软件园:cygwin本地安装版

本词条内容由国搜百科根据相关资料编纂,仅供参考。如有问题,可联系我们修订、完善或删除。也欢迎更多热爱知识共享、有志于词条编纂的专业人士参与国搜百科创建。联系电话:010-87869809 合作邮箱:baike@chinaso.com 交流QQ群:5332181520

标签: 软件 科技 工具

Cygwin 图册

百科热点

党的十九大
  • 浏览次数: 1272 次
  • 更新时间:2015-12-06
  • 创建者:
分享到:
百科 更多»