cygwin的安装使用

 

  Cygwin 是一个用于 Windows 的类 UNIX shell 环境。 它由两个组件组成:一个 UNIX API 库,它模拟 UNIX 操作系统提供的许多特性;以及 Bash shell 的改写版本和许多 UNIX 实用程序,它们提供大家熟悉的 UNIX 命令行界面。前一个组件是一个 Windows 动态链接库 (DLL)。后一个组件是一组基于 Cygwin DLL 的程序,其中许多是用未经修改的 UNIX 源代码编译的。它们合在一起提供大家熟悉的 UNIX 环境。

  这篇文章我们要安装 Cygwin,讨论它的命令行界面 (CLI),并构建标准 Cygwin 发行版中未包含的开放源码,以此体会把 UNIX 应用程序(至少是一部分 UNIX 应用程序)迁移到这个模拟环境是多么容易。

1. 下载、运行安装向导文件
  一开始的下载方法,了解Cygwin的人都知道:就是到http://www.cygwin.com 中先当个安装向导文件setup.exe,这个是Cygwin的官方下载安装向导文件,而且也只能通过它才能正确下载最新的Cygwin版本。setup.exe下载完毕,双击运行,程序安装向导界面如下图所示

  

单击 Next 进入下一个屏幕,选择要执行的安装类型。

  单击 Install from Internet。

  单击 Next,然后选择一个安装目录。

2. Cygwin 安装选项

  

  在大多数情况下,推荐的安装选项是合适的,也可以进行定制,但是要注意几点:

  不要在 Windows 系统的根目录(比如 C:)中安装 Cygwin。最好把 Cygwin 安装在它自己的子目录中,比如默认目录(C:\cygwin)或 C:\Program Files\cygwin。(您选择的目标目录将成为模拟的 UNIX 环境的根目录/。例如,如果在 C:\cygwin 中安装,那么虚拟的 /usr/bin 实际上是 C:\cygwin\usr\bin)。

  对于 Install For 选项,不要选择 Just Me。

  把 Default Text File 类型设置为 Unix,从而尽可能提高与其他 UNIX 机器上存储的现有文件的兼容性。

  单击Next。在下一个窗口中,选择一个存储 Cygwin 所需的数据的目录。不要选择前一步中选择的 Cygwin 目录。 如果可能的话,应该在有至少 1GB 空闲空间的驱动器上创建或选择一个目录。

  再次单击 Next,选择使用的 Internet 连接类型。通常应该选择 Direct Connection。

  再次单击 Next。

  稍等一会儿,Cygwin 会下载当前的镜像站点列表,让您选择一个镜像站点,见图 3。如果不确定应该选择哪个站点,就选择地理位置比较近的站点。

3. 选择您认为可靠的或地理位置比较近的安装站点

  

  经过短暂的延迟之后,安装程序显示可用的类别和包的完整列表。图 4 显示一个类别的部分内容。单击加号 (+) 展开对应的类别;单击 “循环” 标志在 Skip(忽略此包)和包的所有可用版本之间循环。如果 Cygwin 提供一个实用程序的多个版本,应该选择满足您的需求的实例。顺便说一下,如果选择 B 列,就会下载二进制包;选择 S,也会下载源代码。

4. 选择最适合需要的包和实例

  

  在 Cygwin 中可用的包超过 1,000 个,所以应该只选择您需要的类别和包。(安装所有 Cygwin 包会占用超过 800MB 的磁盘空间)。以后随时可以添加整个类别或单独的包:只需重新运行 Cygwin 安装程序。(还可以在任何时候用相同的安装程序删除或更新包)。搜索 Cygwin 包列表(参见 参考资料),检查您喜欢的 UNIX 实用程序是否在 Cygwin 中可用。安装列表文件下载完毕,向导会显示列表中的内容,供用户自由选择到底需要下载哪些安装包。如何选择呢?只需用鼠标点击每个安装包名后面那个循环箭头图标即可:图标后面的文字是表示究竟对该安装包采取何种下载/安装方式,并随着点击而不断变化,共有这么几类:

  (1)Default:这是默认选择,表示只下载/安装该包的缺省安装项(可点击包左边的+号展开,看看缺省安装究竟是些什么内容)。
  (2)Install:表示要下载/安装该包的全部内容。所要求的空间也最大。
  (3)Reinstall:表示重新下载/安装该包的内容(以上一次正常下载/安装时所选择的内容为准)。这个选项非常有用,稍后在下篇中会有说明。
  (4)Uninstall:这个就不用解释了吧。
  用户可根据自己的实际需要,来准定究竟下载/安装哪些内容。推荐选择“Install”方式,一步到位,免得日后被各种这样那样的问题所困扰。
  至于窗口顶部那些“Keep”、“Prev”、“Curr”、“Exp”等等选项,只是用来改变当前树结构的显示方式的,对下载/安装没有什么影响。用户可以用默认的“Exp”。然后点击“下一步”,就要开始正式进行下载啦。

  

  最后,安装程序安装软件并(可选地)在 Start 菜单和桌面中添加快捷方式。单击 Finish

5. 通过使用 Start 菜单或双击 Cygwin 图标(如果添加了这些快捷方式的话),启动 Cygwin;也可以执行 Cygwin 目录中的 Cygwin 脚本(比如 C:\cygwin\Cygwin.bat)。

  图 显示第一次启动 Cygwin 时的情况:它创建您的主目录,执行 shell 启动文件,显示提示。现在可以运行 UNIX 命令了!现在可以在 Windows 中使用 UNIX 命令了!

    

  例如,试一下 ls -a或 type touch。后一个命令表明 touch是可执行文件 /usr/bin/touch。

在 Windows 中发挥 UNIX 的优势

  Cygwin 在 Windows 中几乎完整地模拟一个 UNIX shell。实际上,它把这两种操作系统很好地结合在一起了。例如,可以运行 df -h命令显示 “UNIX” 机器上的空闲磁盘空间。图 7 显示结果。

  图  是 Windows 上的 UNIX 文件系统,还是 UNIX 上的 Windows 文件系统?

  

  正如前面提到的,Cygwin 安装目录作为虚拟 UNIX 系统的根目录。Cygwin 把安装目录中的子目录映射到 UNIX 目录。它以单独的卷的形式提供 Windows 驱动器,比如 /cygwin/c。可以使用这样的虚拟路径启动 Windows 程序。请尝试输入

  /cygwin/c/Program\ Files/Internet\ Explorer/IEXPLORE.EXE

  从命令行启动 Windows Internet Explorer®。(还可以使用 Tab 键自动展开路径的元素)。

  顺便说一句,如果要把 Windows 路径名转换为等效的 UNIX 路径名或者相反,可以试试内置命令

  cygpath。在默认情况下,cygpath产生 UNIX 路径名。使用-w选项产生 Windows 路径。

  $ cygpath -w /cygwin/c/Program\ Files/Internet\ Explorer/IEXPLORE.EXE c:\Program Files\Internet Explorer\IEXPLORE.EXE

  还有帮助沟通这两个环境的其他特性:

  Cygwin 提供它自己的 lpr(/usr/bin/lpr 而不是 Windows 的 LPR.EXE),可以直接从模拟的 UNIX 环境进行打印。只需把 PRINTER 环境变量设置为 \\server\printer_name 或 //server/printer_name 这样的 Cygwin UNC;前向斜杠和反向斜杠都可以,在 Cygwin 中的其他地方也是如此。

  在 Cygwin 中用 ln -s创建的符号链接在 Windows 中被解释为快捷方式。同样,Windows 快捷方式在 Cygwin 中被解释为符号链接。因此,可以使用 Windows 快捷方式带参数启动 UNIX 命令。

  因为 Cygwin 提供完整的 Bash shell,所以可以使用上述的所有兼容特性(和其他特性)编写 UNIX shell 脚本来维护 Windows!

  例如,可以使用 UNIX find

  在驱动器上搜索数据。请注意一点:在 Windows 文件名中常常使用空格。为了保持完整的文件名(请记住,UNIX 参数以空格分隔),一定要使用 find -print0和 xargs -0。

  见图 4。展开 Devel 类别,使用循环控件选择以下包的最高版本:

  autoconf2.1

  automake1.10

  binutils

  gcc-core

  gcc4-core

  gdb

  pcre

  pcre-devel

  做出选择之后(为了满足依赖性,可能会自动选择其他包),单击 Next 开始更新。与前面一样,下载和安装过程需要一定的时间(开发包往往相当大)。 参考资料)

结束语

  Cygwin 并不是完美的 UNIX 模拟环境,但已经相当好了。核心组件的文档很完善,而且特别方便,它们介绍了模拟 DLL 中的限制和安全风险。

  Cygwin 最棒的特性可能是它与 Windows 的集成。使用 Cygwin 和它的 UNIX 命令行来操纵系统可以大大提高生产力。建议在您的 shell PATH 变量中包含 Windows 的 Program Files 中的子目录,这样只  需输入程序名,就能够启动路径中的任何二进制程序。

  更棒的是,Cygwin 可以在同一个窗口中管理多个作业。按 Control-Z 可以暂停正在运行的作业;输入 bg和fg分别在后台和前台运行作业;输入 jobs管理作业列表。当然,Cygwin 还可以对输入和输出进行重定向,可以通过管道把一个命令的输出发送给另一个命令。

 
 
分类: java

Cygwin 是一个用于 Windows 的类 UNIX shell 环境的更多相关文章

  1. Cygwin(类UNIX模拟环境)&CURL(强大的http命令行工具)

    前言: 需要我用curl试下能否发送post请求调起公司的仿真系统(目前) 跟着大佬的脚步,亲测一把~ 感谢大佬的提供的博客和指导 @咩神 个人博客园及来源地址 Cygwin(类UNIX模拟环境) 一 ...

  2. Cygwin Run in the Windows(Simulation of UNIX)

    Preface Environment Cygwin Run in the Windows(Simulation of UNIX) Resource Cygwin Install:http://cyg ...

  3. Windows使用(类)Unix环境那些事

    之前的博文中有不少涉及到win下使用unix环境的一些东西,但都是为了做别的事情,还是写一个专门讲这个主题的文章吧. 主角:Cygwin.mingw-W64.MSYS2. 注:mingw已经停止更新很 ...

  4. Cygwin安装篇,windows平台上运行的类UNIX模拟环境

    1.虚拟光驱的安装 虚拟光驱下载 一路下一步,不再阐述,这些广告选项不要选 2.安装文档,双击ISO文档 ISO下载地址 链接:http://pan.baidu.com/s/1miFVCYO 密码:z ...

  5. Unix / 类 Unix shell 中有哪些很酷很冷门很少用很有用的命令?(转)

    著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:孙立伟 链接:http://www.zhihu.com/question/20140085/answer/14107336 ...

  6. MinGW —— Minimalist GNU for Windows、Cygwin —— Windows 下的类 unix 系统

    0. 楔子 Windows 下显然是没有 gcc 编译器的.对于一些软件或者工具如果想要在 Windows 平台下运行,而又需要依赖 gcc 编译其中的一些基于 C/C++ 实现的代码. 此时就借助 ...

  7. cygwin -- 在windows平台上运行的unix模拟环境

    cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购).它对于学 ...

  8. Linux和类Unix系统上5个最佳开源备份工具

    一个好的备份最基本的目的就是为了能够从一些错误中恢复: 人为的失误 磁盘阵列或是硬盘故障 文件系统崩溃 数据中心被破坏等等. 所以,我为大家罗列了一些开源的软件备份工具. 当为一个企业选择备份工具的时 ...

  9. 类Unix上5个最佳开源备份工具 Bacula/Amanda/Backupninja/Backuppc/UrBackup

    当为一个企业选择备份工具的时候,你都考虑什么呢? 确定你正在部署的软件具有下面的特性 开源软件 – 你务必要选择那些源码可以免费获得,并且可以修改的软件.确信可以恢复你的数据,即使是软件供应商/项目停 ...

随机推荐

  1. FPGA 设计流程,延迟,时间

    FPGA 设计流程,延迟,时间 流程:每个时钟周期可以传输的数据比特. 延迟:从输入到时钟周期的输出数据需要经验. 时间:两个元件之间的最大延迟,最高时钟速度. 1 採用流水线能够提高 流量: 比如计 ...

  2. Hybrid----U采用IWebView演出PDF和其他文件

    App如果你需要显示pdf.word档,在这个时候有没有其他控制,比UIWebView更适合,这是高度抽象的技术细节,可以非常easy采用 UIWebView打开文件类型列表 watermark/2/ ...

  3. 【C语言的日常实践(八)】弦

    串数据类型是一个重要的,但C有没有明确的语言字符串数据类型.头文件string.h它包括大多数字符串处理函数. 故,有操作的串.通常包括string.h头文件. 1.字符串的长度:对字符串进行的操作中 ...

  4. TFS 2010 使安装更容易,让VSS历史

    一转眼VS 2010 RC(Release Candidate)版本号已经公布一月多了,RTM(Release To Manufacturer)版本号也快妥了,已经进入了最后的倒计时,仅仅等4月12号 ...

  5. 交易应用-运行多个SQL声明

    事务具有原子性.要么不运行.要么全运行.一旦成功运行永久保存.而这些正是因为事务的原子性和对数据库的持久性形成的.下面是一个关于统一给数据库中的数据改动的批量操作,利用到事务. TODO:批量改动数据 ...

  6. c#之Async、Await剖析

    c#之Async.Await剖析 探索c#之Async.Await剖析 2015-06-15 08:35 by 蘑菇先生, 1429 阅读, 5 评论, 收藏, 编辑 阅读目录: 基本介绍 基本原理剖 ...

  7. PB控制性能TreeView

    TreeView [其它] ■TreeView控件能够以树型方式来组织项目.不仅显示直观.界面友好.并且项目的管理和操作更为方便,是当前比較流行的一个控件. 该控件的特点是在较小的空间能够分层次显示大 ...

  8. ocp11g培训内部教材_052课堂笔记(042)_体系架构

    OCP 052 课堂笔记 目录 第一部分: Oracle体系架构... 4 第一章:实例与数据库... 4 1.Oracle 网络架构及应用环境... 4 2.Oracle 体系结构... 4 3. ...

  9. 虚拟机安装麒麟3.2时报unkown filesystem,you need to load the linux kernel first

    工作的需要,安装在虚拟机上的麒麟3.2的64位版本号. 使用虚拟机VMware Workstation 9.0,依照常识目标DVD光盘文件的类型选择Other Linux 2.6.x Kernel 6 ...

  10. cocos2dx 3.0正式版 于mac在新建项目

    下载cocos2dx 3.0正式版,和安装python2.7.*版本号. 加入cocos命令: mac下: 在cocos2d-x\tools\cocos2d-console\bin文件夹下.执行ins ...