对话 UNIX: 在 Windows 上使用 Cygwin

如果您是本专栏的忠实读者,应该已经熟悉了许多 Unix 行话 。“用管道重定向输出、“杀死进程 和 “使用通配符 等行话对于新手来说很奇怪,但是您应该很熟悉这些说法了 。
对于 UNIX 本身,也有各种称呼 。IBM?大型机用户说各种带字母 “z 的行话,比如 IBM z/OS?和 System z9 Virtual Machine (z/VM);嵌套系统开发人员使用 eCos 这个词;在聊天中还会提到其他许多风格的 UNIX,比如 LinuxreeBSD、Sun Solaris 和 Mac OS X 。现代信息技术使用各种各样的方言,简直就像是圣经中巴别塔的故事 。
当然,也有不少人说 Windows 术语,尽管大多数人只掌握 “指向和单击 这样的简单词汇 。经过 20 年的发展,大多数 Windows 用户已经忘了古老的 Dos 术语 。
但是,与 UNIX shell 相比,Windows COMMAND 实用程序的功能实在很差;因此,UNIX 用户通常认为 Windows 是一种让人灰心丧气的平台 。对于习惯于使用丰富的命令行工具集的 UNIX 软件开发人员来说,Windows 尤其别扭 。对于 UNIX 开发人员来说,使用 Windows 简直就像是到了陌生的外国 。
幸运的是,Cygwin(见 参考资料)在 Windows 环境中提供大家熟悉的一片天地,就像是美国人在法国找到了麦当劳 。
Cygwin 是一个用于 Windows 的类 UNIX shell 环境 。它由两个组件组成:一个 UNIX API 库,它模拟 UNIX 操作系统提供的许多特性;以及 Bash shell 的改写版本和许多 UNIX 实用程序,它们提供大家熟悉的 UNIX 命令行界面 。前一个组件是一个 Windows 动态链接库 (DLL) 。后一个组件是一组基于 Cygwin DLL 的程序,其中许多是用未经修改的 UNIX 源代码编译的 。它们合在一起提供大家熟悉的 UNIX 环境 。
在本期的 对话 Unix 专栏中,我们要安装 Cygwin,讨论它的命令行界面 (CLI),并构建标准 Cygwin 发行版中未包含的开放源码,以此体会把 UNIX 应用程序(至少是一部分 UNIX 应用程序)迁移到这个模拟环境是多么容易 。
安装 Cygwin
与这里介绍的其他软件不同,Cygwin 使用 Windows 安装程序 。Cygwin setup.exe 文件可以重新安装软件,可以添加、修改或升级 Cygwin 配置的组件 。
在 Windows 系统上打开浏览器,通过访问 http://cygwin.com/setup.exe 下载 Cygwin 安装程序 。安装程序本身非常小(大约 600KB),因为大多数 Cygwin 软件是在安装过程中下载的 。完成下载之后,按照以下步骤安装 Cygwin:
运行安装程序 。图 1 显示 Cygwin 欢迎屏幕 。
图 1. 在安装 Cygwin 期间出现的第一个对话框
单击 Next 进入下一个屏幕,选择要执行的安装类型 。
单击 Install from Internet 。
单击 Next,然后选择一个安装目录 。
配置安装的窗口见图 2 。
图 2. Cygwin 安装选项
在大多数情况下,推荐的安装选项是合适的,也可以进行定制,但是要注意几点:
不要在 Windows 系统的根目录(比如 C:)中安装 Cygwin 。最好把 Cygwin 安装在它自己的子目录中,比如默认目录(C:cygwin)或 C:Program Filescygwin 。(您选择的目标目录将成为模拟的 UNIX 环境的根目录 / 。例如,如果在 C:cygwin 中安装,那么虚拟的 /usr/bin 实际上是 C:cygwinusrbin) 。
对于 Install For 选项,不要选择 Just Me 。
把 Default Text File 类型设置为 Unix,从而尽可能提高与其他 UNIX 机器上存储的现有文件的兼容性 。
单击 Next 。
在下一个窗口中,选择一个存储 Cygwin 所需的数据的目录 。不要选择前一步中选择的 Cygwin 目录 。如果可能的话,应该在有至少 1GB 空闲空间的驱动器上创建或选择一个目录 。
再次单击 Next,选择使用的 Internet 连接类型 。通常应该选择 Direct Connection 。

推荐阅读