cygwin 是干什么用的? 怎么用?

   188备用网址

1 小引
cygwin是一个人在windows平台上运转的unix仿照仪式,它是闲逛群集。 receive 接收勋绩的免费软体(公司勋绩了很多好的),著名的是ECOS,但现时它先前被红帽买走了。它是用于结论UNIX/Linux操纵仪式的,或从UNIX植根到Windows的敷用,或做稍许的特别的勋绩任务,异常地运用GNU器勋绩Windows仪式下的嵌入式体系。,非凡的有用处。嵌入式体系的开展越来越受到流传民间的的注重。,越来越多的勋绩者对CygWin感兴趣。。本文将对其举行绍介。。

2 机能
闲逛头等创造海湾合群市政服务机构,gdb,瓦斯和倚靠勋绩器得到了改善。,使他们可以创作和解说Win32终点发送。那时的,他们想把这些器植根到Windows平台上。。一种谋划是由于win32 API使这些器的源代码发作了很大的找头。,做这件事显然有很多任务要做。。从此处,他们采用了明显的的办法——他们写了一个人共享的书斋(就是说CygWi)。 静态关系库(DLL),把win32 茫然的API射中靶子UNIX作风转乘(如叉子),spawn,signals,select,封装在国内的的插槽等),就是说说,它们是由于Win32的 API构图了UNIX体系类库的仿照层。如此,只需将这些器的源代码与此共享库衔接那就够了。,就可以运用unix作为主人上的穿插编纂者来创作可以在windows平台上运转的器集。由于这些勋绩器植根到Windows平台上。,CyGNUS逐步旋转了倚靠器(险乎用不着修正源代码),只需求修正他们的使成形本子。软件植根到WI。如此,Windows平台下运转BASH和勋绩器、用户器,觉得就像在UNIX上任务。

3 嵌入CygWin
3.1 嵌入
嵌入CygWin的电网络版本,单击嵌入 Cygwin Now!”。这将率先下载一个人名为GUI的嵌入顺序,你可以用它下载一个人直接地的CygWin。战场每个银幕的阐明,可以出恭嵌入。。
仪式变量
开端前狂欢,必不可少的事物确立或使使安全稍许的仪式变量。cygwin提出了一个人.bat发送,最重要的仪式变量先前在国内的的设置了。。这是最使安全的方法开端经过它。这事.bat发送嵌入在cygwin某种情势或获名次的根布边下。 您可以恣意编译发送。。
CygWin变量用于CygWin Runt的多个大局设置。。开端时,可以不设置CYGWIN或许在家具bash前用比拟上面的体式在dos框下把它设为tty
C:\> set CYGWIN=tty notitle glob

CygWin敷用运用远远地变量作为SURC的远远地列表。。当CygWin转换启动时,变量出生于Windows体式(比如 C:\WinNT\system32;C:\WinNT)掉换成unix体式(e.g., /WinNT/system32:/WinNT)。倘若你想运转BASH,你也可以运用CygWin器包。,远远地必不可少的事物至多包孕x:\CygWin \bin。,国内的的,X:CygWin 它是体系射中靶子CygWin布边。
HOLD变量用于命名主布边,提议在家具BASH屯积构成释义此变量。。当CygWin转换开端时,此变量也从Windows体式掉换为UNIX体式。,比如,作者机具上的HOST值是C:\(DOS命令集) 家可以指出他的涵义,set 主页= xxx可以被设置),在BASH中运用回响 家的色彩,它的值是/CygDys/c。
术语变量命名终点站类型。。倘若美被设定,它将无意识的设置为CygWin。。
LD_LIBRARY_PATH被cygwin职务dlopen()作为搜索.dll发送的远远地列表,此变量也从Windows体式掉换为UNIX体式。。少数Cygwin敷用不运用dlopen,因而这事变量是用不着的。
更改CygWin的最大贮藏资格
Cygwin顺序未履行任务或责任可以分派的内存不超过384 MB(program+data)。在大少数位置下,用不着修正这事限度局限。。只由于,倘若需求更多现实或虚拟内存,必不可少的事物修正登记处的HKEY_LOCAL_MACHINE或HKEY_CURRENT_USER区段。农场主一个人DWORD键heap_chunk_in_mb并把它的值设为需求的内存限度局限,该单位是阿拉伯数字系统MB。。您还可以运用CiggWin射中靶子ReGoover来充分发挥潜在的资格此设置。。判例列举如下:
regtool -i set /HKLM/Software/Cygnus\ Solutions/Cygwin/heap_chunk_in_mb 1024
regtool -v list /HKLM/Software/Cygnus\ Solutions/Cygwin

4 运用cygwin
让本人来谈谈CygWin和全体与会者UNIX体系的分别。。
熭远远地名
.1 小引
CyGWin还支撑Win32和POSIX作风的远远地,远远地分手符可以是前斜杠或反斜杠。。还支撑UNC远远地名。(在电网络中),UNC是一种决定发送获名次的办法。,运用这种办法,用户不克不及立正仓库的身体的获名次。,出恭用户运用。。在Windows操纵体系中,Novell NETWORD及倚靠操纵体系,该说明书已被用来掉换天生的命名体系。。在UNC中,本人不用立正盘子里的发送(或卷)。,不要撕咬服务性的某种情势或获名次的获名次。。本人可以按以下体式入口发送:
服务性的名\共享名\远远地\发送名
共享著名的人物偶尔高音调的发送V的逻辑)技术援助委。,不过运用它的终点是让用户不用立正身体的。。)
在操纵体系(如POSIX)中缺少Linux的意向。。所局部绝对远远地都是从斜线开端的。,替代磁盘(如C)。尽量的发送体系都是子布边。比如,两个黏土层,国内的的一个人是根。,另一个人能够在/DISK2远远地下。。
由于UNIX体系上的数量庞大的数量庞大的顺序承认有一个人POSIX FI。,因而cygwin特意保卫了一个人对着干win32发送体系的国内的posix视域,使这些顺序在Windows下运转。在若干必然的的位置下,CygWin运用此熭在Win32和POSIX远远地经过举行掉换。。
.2 cygwin mount表
cygwin射中靶子mount顺序用来把win32盘符和电网络共享远远地熭到cygwin的国内的posix布边树。这是类型的UNIX。 顺序可比较性的意向。大约那些的不熟悉UNIX和有Windows安排的人来说。,嵌入顺序与前段DOS命令衔接非凡的比拟。,就是说运用磁盘作为倚靠远远地的子布边。。
远远地熭交流仓库在流畅用户的CygWin中。 在挂载表中,这座山 table 在Windows登记处中。如此,当用户下次登录时,这些交流是从登记处中取出的。。mount 嵌合分为两种。,要不是每个用户考虑到的表而且,况且一个人体系长度的嵌入表。,每个CygWin用户的嵌入表都是从体系T答应的。。体系表唯一的由具有真正的运转的用户提出。 NT管理员修正。
流畅用户的mount表可以在登记处”HKEY_CURRENT_USER/Software/Red Hat, Inc./Cygwin/mounts v” 下指出。体系表
在HKEY型LaLaLaX机的存鄙人。
POSIX根远远地/未履行任务或责任定位体系辨别,不过可以运用mount命令重行加标点于到windows发送体系射中靶子无论什么远远地。当Cywinn从Win32远远地创作POSIX远远地时,不断地运用在挂载表中似乎比实际时间长的的前缀。比如,倘若在C/C中同时嵌入C:,cygwin将把C:/foo/bar掉换成/c/foo/bar.
倘若在缺少无论什么决定因素的位置下转乘嵌入命令,会把Cygwin流畅嵌入点集中整个列出。在上面的判例中,C盘是POSIX根,并将磁盘熭到/d。。本例中,根是一个人体系长度的嵌入点。,它对尽量的用处户都可见。,和/或D仅对流畅用户可见。
c:\> mount
f:\cygwin\bin on /usr/bin type system (binmode)
f:\cygwin\lib on /usr/lib type system (binmode)
f:\cygwin on / type system (binmode)
E:\SRC on /usr/src type system (binmode)
c: on /cygdrive/c type user (binmode,noumount)
e: on /cygdrive/e type user (binmode,noumount)
还可以运用嵌入命令添加新的嵌入点。,用Ununt切断嵌入点。
当Cygwin不克不及战场已局部嵌入点把某个win32远远地转变为posix远远地时,cygwin会无意识的把它转变到一个人成为未履行任务或责任posix远远地/cygdrive下的的一个人嵌入点. 比如,倘若Cygwin 入口Z:\FO,Z磁盘流畅茫然的嵌入表中,那时的Z:\将无意识的掉换为/CyGrave/z。
可以给每个嵌入点提出特别属性。。无意识的嵌入的分区显示为无意识的嵌入。。嵌入点也可以选择为主题制作模型或 “binmode”,此属性决定主题发送和二进制发送即使被处置。。
.3 倚靠远远地中间定位交流
cygpath器提出了在shell本子中举行win32-posix远远地体式掉换的资格。
HOME, PATH,和LD_LIBRARY_PATH仪式变量会在cygwin转换启动时无意识的被从Win32体式掉换成了POSIX体式(比如,倘若从Win32远远地嵌入到POSIX远远地,C:CygWin \bin将转向/bin)。

没有评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注