位置: 编程技术 - 正文

windows平台上运行的unix模拟环境cygwin cygwin的安装配置与使用介绍(windows运行在哪)

编辑:rootadmin

推荐整理分享windows平台上运行的unix模拟环境cygwin cygwin的安装配置与使用介绍(windows运行在哪),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:windows运行sh,windows 平台,运行在电脑哪个位置win10,运行windows,运行windows,windows运行app,运行windows,windows平台上运行的两个应用程序之间交换,内容如对您有帮助,希望把文章链接给更多的朋友!

windows平台上运行的unix模拟环境cygwin cygwin的安装配置与使用介绍(windows运行在哪)

1 引言 cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣。本文将对其作一介绍。 2 机理 cygnus当初首先把gcc,gdb,gas等开发工具进行了改进,使他们能够生成并解释win的目标文件。然后,他们要把这些工具移植到windows平台上去。一种方案是基于win api对这些工具的源代码进行大幅修改,这样做显然需要大量工作。因此,他们采取了一种不同的方法——他们写了一个共享库(就是cygwin dll),把win api中没有的unix风格的调用(如fork,spawn,signals,select,sockets等)封装在里面,也就是说,他们基于win api写了一个unix系统库的模拟层。这样,只要把这些工具的源代码和这个共享库连接到一起,就可以使用unix主机上的交叉编译器来生成可以在windows平台上运行的工具集。以这些移植到windows平台上的开发工具为基础,cygnus又逐步把其他的工具(几乎不需要对源代码进行修改,只需要修改他们的配置脚本)软件移植到windows上来。这样,在windows平台上运行bash和开发工具、用户工具,感觉好像在unix上工作。 关于cygwin实现的更详细描述,请参考 安装设置cygwin 3.1 安装要安装网络版的cygwin,可以到 Cygwin Now!"。这样会先下载一个叫做setup.exe的GUI安装程序,用它能下载一个完整的cygwin。按照每一屏的指示可以方便的进行安装。3.2 环境变量 开始运行bash之前,应该设置一些环境变量。cygwin提供了一个.bat批处理文件,里面已经设置好了最重要的环境变量。通过它来启动bash是最安全的办法。这个.bat文件安装在cygwin所在的根目录下。 可以随意编辑该文件。 CYGWIN变量用来针对cygwin运行时系统进行多种全局设置。开始时,可以不设置CYGWIN或者在执行bash前用类似下面的格式在dos框下把它设为tty C:> set CYGWIN=tty notitle glob PATH变量被cygwin应用程序作为搜索可知性文件的路径列表。当一个cygwin进程启动时,该变量被从windows格式(e.g. C:WinNTsystem;C:WinNT)转换成unix格式(e.g., /WinNT/system:/WinNT)。如果想在不运行bash的时候也能够使用cygwin工具集,PATH起码应该包含x:cygwinbin,其中x:cygwin 是你的系统中的cygwin目录。 HOME变量用来指定主目录,推荐在执行bash前定义该变量。当cygwin进程启动时,该变量也被从windows格式转换成unix格式,例如,作者的机器上HOME的值为C:(dos命令set HOME就可以看到他的值,set HOME=XXX可以进行设置),在bash中用echo $HOME看,其值为/cygdrive/c. TERM变量指定终端型态。如果美对它进行设置,它将自动设为cygwin。 LD_LIBRARY_PATH被cygwin函数dlopen()作为搜索.dll文件的路径列表,该变量也被从windows格式转换成unix格式。多数Cygwin应用程序不使用dlopen,因而不需要该变量。 3.3 改变cygwin的最大存储容量 Cygwin程序缺省可以分配的内存不超过 MB(program+data)。多数情况下不需要修改这个限制。然而,如果需要更多实际或虚拟内存,应该修改注册表的HKEY_LOCAL_MACHINE或HKEY_CURRENT_USER区段。田家一个DWORD键heap_chunk_in_mb并把它的值设为需要的内存限制,单位是十进制MB。也可以用cygwin中的regtool完成该设置。例子如下: regtool -i set /HKLM/Software/Cygnus Solutions/Cygwin/heap_chunk_in_mb regtool -v list /HKLM/Software/Cygnus Solutions/Cygwin4 使用cygwin这一段讲一下cygwin和传统unix系统的不同之处。 4.1 映射路径名 4.1.1 引言 cygwin同时支持win和posix风格的路径,路径分隔符可以是正斜杠也可以是反斜杠。还支持UNC路径名。(在网络中,UNC是一种确定文件位置的方法,使用这种方法用户可以不关心存储设备的物理位置,方便了用户使用。在Windows操作系统,Novell Netware和其它操作系统中,都已经使用了这种规范以取代本地命名系统。在UNC中,我们不用关心文件在什么盘(或卷)上,不用关心这个盘(或卷)所在服务器在什么地方。我们只要以下面格式就可以访问文件: \服务器名共享名路径文件名 共享名有时也被称为文件所在卷或存储设备的逻辑标识,但使用它的目的是让用户不必关心这些卷或存储设备所在的物理位置。) 符合posix标准的操作系统(如linux)没有盘符的概念。所有的绝对路径都以一个斜杠开始,而不是盘符(如c:)。所有的文件系统都是其中的子目录。例如,两个硬盘,其中之一为根,另一个可能是在/disk2路径下。 因为许多unix系统上的程序假定存在单一的posix文件系统结构,所以cygwin专门维护了一个针对win文件系统的内部posix视图,使这些程序可以在windows下正确运行。在某些必要的情况下,cygwin会使用这种映射来进行win和posix路径之间的转换。 4.1.2 cygwin mount表 cygwin中的mount程序用来把win盘符和网络共享路径映射到cygwin的内部posix目录树。这是与典型unix mount程序相似的概念。对于那些对unix不熟悉而具有windows背景的的人来说,mount程序和早期的dos命令join非常相似,就是把一个盘符作为其他路径的子目录。 路径映射信息存放在当前用户的cygwin mount表中,这个mount table 又在windows的注册表中。这样,当该用户下一次登录进来时,这些信息又从注册表中取出。mount 表分为两种,除了每个用户特定的表,还有系统范围的mount表,每个cygwin用户的安装表都继承自系统表。系统表只能由拥有合适权限的用户(windows nt的管理员)修改。 当前用户的mount表可以在注册表"HKEY_CURRENT_USER/Software/Red Hat, Inc./Cygwin/mounts v" 下看到。系统表存在HKEY_LOCAL_MACHINE下。 posix根路径/缺省指向系统分区,但是可以使用mount命令重新指向到windows文件系统中的任何路径。cygwin从win路径生成posix路径时,总是使用mount表中最长的前缀。例如如果c:被同时安装在/c和/,cygwin将把C:/foo/bar转换成/c/foo/bar. 如果不加任何参数地调用mount命令,会把Cygwin当前安装点集合全部列出。在下面的例子中,c盘是POSIX根,而d盘被映射到/d。本例中,根是一个系统范围的安装点,它对所有用户都是可见的,而/d仅对当前用户可见。 c:> mount f:cygwinbin on /usr/bin type system (binmode) f:cygwinlib 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) 还可以使用mount命令增加新的安装点,用umount删除安装点。 当Cygwin不能根据已有的安装点把某个win路径转化为posix路径时,cygwin会自动把它转化到一个处于缺省posix路径/cygdrive下的的一个安装点. 例如,如果Cygwin 访问Z:foo,而Z盘当前不在安装表内,那么Z:将被自动转化成/cygdrive/Z. 可以给每个安装点赋予特殊的属性。自动安装的分区显示为“auto”安装。安装点还可以选择是"textmode"还是 "binmode",这个属性决定了文本文件和二进制文件是否按同样的方式处理。 4.1.3 其他路径相关信息 cygpath工具提供了在shell脚本中进行win-posix路径格式转换的能力。 HOME, PATH,和LD_LIBRARY_PATH环境变量会在cygwin进程启动时自动被从Win格式转换成了POSIX格式(例如,如果存在从该win路径到posix路径的安装,会把c:cygwinbin转为/bin)。 4.2 Cygpath使用心得 4.2.1.在cygwin里访问Windows盘 cd /cygdrive/c cd c: 4.2.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等。 4.2.3.使用TGZ备份 将cygwin的BIN加入到PATH 建一个BAT文件: @echo off d: cd d:website8thmanage tar czvf 8thmanage.tgz 8thmanage 4.2.4.Windows使用SHELL脚本 将cygwin的BIN加入到PATH 在$CYGWIN的目录/var/下面建一脚本t.sh,注意,t.sh里面的路径,都是相对于$CYGWIN的,里面需要访问C盘的,请用/cygdrive/c/ 在Windows下执行: d:cygwinbinbash d:cygwinvart.sh (可以定期执行) 4.2.5.同步Windows系统用户 mkpasswd -l > /etc/passwd mkgroup -l > /etc/group 如果有Domain的话,需要加上-d domainname 4.2.6.安装系统服务 cygrunsrv 4.2.7.cygwing下使用rsync a.安装rsync组件 b.进入cygwin,配置服务器 vi /etc/rsyncd.conf ...screts file=/etc/tom.ipaddr.pas 配置文件,参考我写的另外一篇rsync的文章,注意:密码文件权限必须是 chmod /etc/tom.ipaddr.pas c.启动服务端 rsync --daemon d.客户端同步 在客户端的cygwin下面,运行rsync同步,具体命令,请参考另外一篇rsync的文章。 4.2.8.cygwin下使用SSHD a.需要安装了cygrunsrc,openssh b.运行ssh-host-config -y 一路回车,直到出现CYGWIN=时,输入tty ntsec,再回车, (或者,增加一系统环境变量CUGWIN=nesec tty) c.已经安装好SSHD服务到你的Windows服务中,可以直接在服务中启动,关闭。 (cygrunsrc -S sshd或者net start sshd) 4.2.9.中文显示 1). 编辑用户home目录下的文件.inputc,去除以下几行的注释: set meta-flag on # 关闭bash命令行8字节字符转义符的转换 set convert-meta off # 使bash命令行支持8字节字符输出 set output-meta on set input-meta on 2) 编辑用户home目录下的文件.bash_profile,在文件末尾加上下面几行: alias ls='ls --color --show-control-chars' export LC_ALL=zh_CN.GB export LC_CTYPE=zh_CN.GB export LANG=zh_CN.GB export XMODIFIERS="@im=Chinput"3 stty cs8 -istrip stty pass8 # Update: 少了这个less就不支持中文了 export LESSCHARSET=latin1 3)经过以上过程后,重启cygwin,就应许支持中文了,当然,如果要改变home目录则要编辑cygwin.bat,具体如下: 在bash命令之前加入set HOME=<用户目录>,比用户目录设置在G:home。 在新设定的<用户目录>里创建文件.inputc和.bash_profile 由于用惯了windows,所以想在资源管理器里创建这两个文件, 所以干脆先跑到bash里用echo 创建这两个文件。 echo a>.inputc echo a>.bash_profile 然后用你喜爱的编辑器编辑之。 要是ls还有乱码,vi ~.bashrc中,修改: alias ls=’ls -hF –show-control-chars –color=tty’ cygwin.bat脚本为: @echo off set MAKE_MODE=UNIX

如何知道自己的系统是位的还是位的图文方法 第一步:在开始运行中输入winver(系统版本号命令)。第二步:看到打开的系统版本信息。如您打开的和下图类似,那么就说明你的系统是位的。第三

WINDOWS系统OEM接口文件的使用 WINDOWS和WINDOWS系统为OEM公司提供了两个OEM接口文件,OEMINFO.INI和OEMLOGO.BMP,利用这两个文件就可实现保存有关销售处的信息的目的。首先安装好WINDOWS

未能打开这台计算机上的组策略对象,您可能没有合适的权限问题的解决方法。 详细信息:系统找不到指定的路径解决办法:进入目录:C:WINDOWSsystem,然后点工具栏,文件夹选项,查看,选中显示所有文件和文件夹,并取掉隐藏

标签: windows运行在哪

本文链接地址:https://www.jiuchutong.com/biancheng/359420.html 转载请保留说明!

上一篇:找回音频文件右键-属性-摘要 选项卡的操作方法(音频文件恢复)

下一篇:如何知道自己的系统是32位的还是64位的图文方法(如何知道自己的邮箱号)

  • 中外合资企业要交什么税
  • 不需要缴纳税款和服役的是形势户寺观户
  • 减免城建税税款会计分录
  • 出口的商品交消费税吗
  • 车间用的电线计入什么科目
  • 预付房租在资产负债表里为什么属于资产
  • 房地产企业印花税税目
  • 房地产开发企业销售自行开发的房地产项目
  • 小规模纳税人出租
  • 电视台广告费可以抵扣吗
  • 公司用现金发放工资在税法上合规吗
  • 增值税税负低如何解释
  • 金税盘可以异地使用吗
  • 大中小微企业划分标准2023年
  • 医院行业类别怎样填写
  • 员工出差补贴怎么入账
  • 预付账款收不回来摘要怎么写
  • 开发企业土地使用税计算方法
  • thinkphp微信公众号开发
  • 票据贴现办法
  • system 进程
  • linux 引导
  • neo什么意思翻译成中文
  • 企业所得税中的其他业务收入包括
  • 当财务报表中列报对应数据时
  • 稿酬所得计入什么科目
  • 借款利息税前扣除需要发票
  • 终身职业技能培训
  • 低值易耗品报废时有残料价值收回的应冲减当月成本费用
  • php flock函数
  • 加计扣除减免政策
  • 北极光的征兆
  • WordPress中设置视频循环播放
  • 在数组指定位置添加数据
  • php表单内容写入txt
  • 利息资本化怎么计算
  • php过滤html
  • 给兼职员工的劳动补贴
  • opengl设置
  • 损益表填制
  • 先开票后发货如何操作
  • 新企业职工工资怎么算
  • 建筑企业提供服务的机制保障
  • 季末资产总额怎么计算
  • 股权转让分期付款风险
  • 工会费的会计分录是什么
  • 成本核算的科目有哪些
  • 固定资产入账和未入账的区别
  • 融资购入的固定资产如何记账
  • 企业所得税汇算清缴操作流程
  • 股权转让会计分录借银行存款
  • 企业取得财产转让收入
  • 土地承包经营权上的房屋
  • 融资租入固定资产的账务处理
  • 银行收到货款会计分录怎么做
  • 实际验收入库是什么科目
  • 每个月交工会经费
  • 进项税认证未抵扣怎么做账
  • 个税基数和社保有关系吗
  • 进项税的发票
  • 企业清算主要清算哪些项目?
  • sqlserver1053怎么解决
  • FreeBSD 6.2-RELEASE下载
  • 高效内存管理
  • 远程管理是什么意思
  • ubuntu禁用服务命令
  • ubuntu kde gnome
  • win8 metro启动界面
  • Linux中stat命令显示文件的基本使用教程
  • jquery 图片左右滚动
  • 安卓开发框架mvvm
  • Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社
  • 细说javascript
  • 表格指定高度是多少
  • html收藏夹导入
  • 用python写一个程序
  • 网页js调试
  • 大米包装有二道封口线正常吗
  • 居住证在粤省事怎么查询
  • 不明身份人员法律定义?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设