欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 科普文章

Cygwin

科普小知识2022-12-29 20:53:42
...

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

中文名:UNIX模拟环境

外文名:Cygwin

开发者:cygnussolutions公司

类型:*软件,GNU软件包移植

最新版本:1.7.32(2014年8月14日)

运行平台:Windows

始于:1995年

1、软件介绍


cygwin

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

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

2、组成模块


cygwin

Cygwin包括了一套库,该库在Win32系统下实现了POSIX系统调用的API;还有一套GNU开发工具集(比如GCC、GDB),这样可以进行简单的软件开发;还有一些UNIX系统下的常见程序。2001年,新增了XWindowSystem。

另外还有一个名为MinGW的库,可以跟Windows本地的MSVCRT库(WindowsAPI)一起工作。MinGW占用内存、硬盘空间都比较少,能够链接到任意软件,但它对POSIX规范的实现没有Cygwin库完备。

但糟糕的是,Cygwin不支持Unicode。实际上,除了当前Windows系统以及OEMcodepages(例如,一个俄语用户,他的代码页是CP1251和CP866,而不能是KOI8-R、ISO/IEC8859-5、UTF-8等),Cygwin对其他字符集都不支持。Cygwin的较新版本可以通过自带终端模拟器的设置来满足显示UTF-8和更多代码页的功能。

RedHat规定,Cygwin库遵守GNUGeneralPublicLicense,但也可以跟符合开源定义的*软件链接。RedHat另有价格不菲的许可协议,这样使用Cygwin库的专属软件,就可以进行再发布。

3、工作机制

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

4、安装教程


cygwin

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

2.选择"InstallfromLocalDirectory"安装;

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

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

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

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

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

subversion------DevelCategory下的)

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

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

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

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

【安装成功后注意:】

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

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

2).locale是查看本地编码

修改Cygwin编码

Cygwin中文乱码:

右键--option---text--手动修改---Locale(zh-GN),Characterset(GBKChinese);

固定修改:

cygwin设置中文

cygwin\home\用户名\.bashrc

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

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

aliasdir='dir-N--color'

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

export

#输出为中文编码

exportOUTPUT_CHARSET="GBK"

cygwin\home\username\.inputrc

#可以输入中文

setmeta-flagon

setoutput-metaon

setconvert-metaoff

#忽略大小写

setcompletion-ignore-caseon

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

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

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

5、使用方法


cygwin

1、cygwin使用心得

A).在cygwin里访问Windows盘

cd/cygdrive/c

cdc:

2、整合cygwin命令到Windows中

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

就可以直接在cmd.exe下面执行tarczvfxxx.tgz./

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

3、使用TGZ备份

将cygwin的BIN加入到PATH

建一个BAT文件:

@echooff

d:

cdd:\website\8thmanage

tarczvf8thmanage.tgz8thmanage

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。

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

@echooff

(此行是空格)

D:

chdirD:\cygwin\bin

setLANG=en_US.utf8

bash–login-i

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

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

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

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

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

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

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

上一篇:千千浏览

下一篇:情人

推荐阅读