对于 UNIX 自己,也有各类称呼。css
IBM® 大型机用户说各类带字母 “z” 的行话,比方 IBM z/OS® 和 System z9 Virtual Machine (z/VM)。嵌套系统开发者使用 eCos 这个词;在聊天中还会提到其它不少风格的 UNIX。比方 Linux®、FreeBSD、Sun Solaris 和 Mac OS X。现代信息技术使用各类各样的方言。简直就像是圣经中巴别塔的故事。html
固然,也有很多人说 Windows 术语,虽然大多数人仅仅掌握 “指向和单击” 这种简单词汇。通过 20 年的发展,大多数 Windows 用户已经忘了古老的 DOS 术语。 shell
但是,与 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 环境。 post
这篇文章咱们要安装 Cygwin,讨论它的命令行界面 (CLI),并构建标准 Cygwin 发行版中未包括的开放源码。以此体会把 UNIX 应用程序(至少是一部分 UNIX 应用程序)迁移到这个模拟环境是多么easy。网站
安装 Cygwinspa
与这里介绍的其它软件不一样,Cygwin 使用 Windows 安装程序。操作系统
Cygwin setup.exe 文件可以又一次安装软件,可以加入、改动或升级 Cygwin 配置的组件。
在 Windows 系统上打开浏览器,经过訪问 http://cygwin.com/setup.exe 下载 Cygwin 安装程序。安装程序自己很是小(大约 600KB),因为大多数 Cygwin 软件是在安装过程当中下载的。完毕下载以后,依照下面步骤安装 Cygwin:
配置安装的窗体见图 2。
在大多数状况下,推荐的安装选项是合适的,也可以进行定制。但是要注意几点:
(您选择的目标文件夹将成为模拟的 UNIX 环境的根文件夹/。
好比,假设在 C:\cygwin 中安装,那么虚拟的 /usr/bin 其实是 C:\cygwin\usr\bin)。
5. 单击Next。
在下一个窗体中,选择一个存储 Cygwin 所需的数据的文件夹。不要选择前一步中选择的 Cygwin 文件夹。
假设可能的话,应该在有至少 1GB 空暇空间的驱动器上建立或选择一个文件夹。
6. 再次单击 Next,选择使用的 Internet 链接类型。一般应该选择 Direct Connection。
7. 再次单击 Next。
稍等一下子。Cygwin 会下载当前的镜像网站列表,让您选择一个镜像网站,见图 3。假设不肯定应该选择哪一个网站。就选择地理位置比較近的网站。
通过短暂的延迟以后。安装程序显示可用的类别和包的完整列表。图 4 显示一个类别的部份内容。
单击加号 (+) 展开相应的类别;单击 “循环” 标志在 Skip(忽略此包)和包的所有可用版本号之间循环。假设 Cygwin 提供一个有用程序的多个版本号,应该选择知足您的需求的实例。顺便说一下,假设选择 B 列,就会下载二进制包;选择 S。也会下载源码。
在 Cygwin 中可用的包超过 1,000 个。因此应该仅仅选择您需要的类别和包。(安装所有 Cygwin 包会占用超过 800MB 的磁盘空间)。之后随时可以加入整个类别或单独的包:仅仅需又一次执行 Cygwin 安装程序。
(还可以在不论何时用相同的安装程序删除或更新包)。搜索 Cygwin 包列表(參见 參考资料),检查您喜欢的 UNIX 有用程序是否在 Cygwin 中可用。
8. 选择您需要的工具以后,单击 Next,下载过程開始!
进度条分别反映每个包的下载进度、总下载进度和磁盘使用量。
图 5 是在个人測试计算机上在安装期间截取的屏幕图。
最后,安装程序安装软件并(可选地)在 Start 菜单和桌面中加入快捷方式。单击 Finish
9. 经过使用 Start 菜单或双击 Cygwin 图标(假设加入了这些快捷方式的话)。启动 Cygwin;也可以执行 Cygwin 文件夹中的 Cygwin 脚本(比方 C:\cygwin\Cygwin.bat)。
图 6 显示第一次启动 Cygwin 时的状况:它建立您的主文件夹,执行 shell 启动文件,显示提示。现在可以执行 UNIX 命令了!
图 6. 现在可以在 Windows 中使用 UNIX 命令了!
好比,试一下 ls -a或 type touch。后一个命令代表 touch是可执行文件 /usr/bin/touch。
Cygwin 在 Windows 中差点儿完整地模拟一个 UNIX shell。实际上。它把这两种操做系统很是好地结合在一块儿了。
好比。可以执行 df -h命令显示 “UNIX” 机器上的空暇磁盘空间。图 7 显示结果。
图 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 |
还有帮助沟通这两个环境的其它特性:
好比。可以使用 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 还可以对输入和输出进行重定向,可以经过管道把一个命令的输出发送给还有一个命令。