Answers:
我以前仅在Windows 2008上使用过Windows SFU,但我相信它是基于Interix的。我有时和cygwin一起玩,但是不是很多,所以如果我在这里说错了话,请有人纠正我。
ps
和df
工作正常。如果您拥有将支持Interix的Windows操作系统的副本(如您所说,是企业版,旗舰版或服务器版),那么试用它是没有害处的。这是一个非常完整的感觉环境。正如您所说,Cygwin可以运行在所有内容上,并且众所周知并且得到了更好的支持,但是对我来说有点像是一个肮脏的hack。有些人会定期使用它。
/ *元注释-我讨厌评论太短* /
我大致同意安德鲁斯的回答,并提供几点意见。我已经在Windows下用SUA / SFU替换了许多unix系统(它们不一样,但很接近)。
无法评论JimB的答案,因此请在此处解决,尤其是有关Windows集成的要点。Cygwin基于Win32,而不是在自己的子系统中运行,尽管运行速度较慢,但它提供了更大的Windows集成。它甚至允许Windows和UNIX API在同一程序中使用,从而可以实现Cygwin X服务器或mintty终端之类的功能。
Cygwin的'ps'会列出Windows进程(如果您给它提供-W选项),而'kill -f'将杀死它们。可以从Cygwin内部调用Windows程序,并使用所有常用机制(例如管道)将Windows程序与Cygwin程序一起插入。(我不知道在Interix中是否可行。)
支持带有正斜杠和反斜杠的Windows样式路径。Cygwin 1.7将UTF-8设置为默认字符集,并且Windows的UTF-16文件名会自动翻译,因此任何语言的文件名都能在Cygwin中正确显示。我不知道Interix在这里做什么,但是找不到支持Unicode的任何证据。
其他集成功能包括“ cygstart”实用程序,用于打开文件,就像在资源管理器中双击该文件一样;还有/ dev / clipboard设备,用于访问Windows剪贴板。
我们的旅程始于 Windows Server 2008 的晦涩页面。
在这里,您会发现它甚至不再被称为Interix,而是用于基于Unix的应用程序或 SUA的子系统。接下来,您只会从用户评论中注意到SUA仅适用于Windows 7 Ultimate或Enterprise。本文中任何地方都没有提到这一点。安装“子系统”后,您将意识到开始菜单中的快捷键只有2个。
现在,您进入了真正的邪恶。单击“下载”快捷方式,您将 进入下载页面。
在这里,我们有3个可用文件可供下载。这些文件全部超过400MB,截至本文撰写时已有4年历史。另外,我们没有选择下载自定义软件包,某些部分等的任何选择。然后,您将意识到此链接实际上是针对Vista而不是Windows 7的,并且必须去互联网搜索 Windows 7页面。在这一点上,我放弃了。
转到cygwin.com。下载 cygwin.com/setup-x86.exe。该文件为 714 KB。运行基本安装,您将看到它大约需要 2分钟。
之后,您可以根据需要将安装程序重用于许多其他软件包。故事的寓意是Cygwin关心用户。
类似UNIX的“感觉”非常主观。对于CygWin,我的投票是肯定的,因为它具有具有所有必需功能的CygWin / X Xwindows服务器。SFU使用了基本的X11工具,但是它太少了,太迟了。由于需要X11服务器,许多人(包括我)被介绍给CygWin。在完整性方面,由于CygWin是开源的,并且已移植了许多GNU或GPL许可的软件,因此CygWin的定位也更好。我见过很少有CygWin的商业产品,而只见过一种产品需要Windows NT的UNIX服务,此后再也没有。YMMV。
套餐可用性CygWin的成功无疑是受到以下几个因素影响:-较低的入门成本:具有CygWin的“任何Windows”与服务器级SFU / SUA许可证。某些功能可用于Windows的桌面版本,但价格更高,并且没有服务器组件。-开源与封闭源,更重要的是公开可用的文档。在过去,甚至提供的命令和API列表也仅对MSDN订户可用,而Microsoft网站上几乎没有信息。相比之下,GNU工具集具有充分的文档记录,可以在线使用,也可以作为手册页使用。-名称和实现更改令人困惑。早期版本使用的是MKS工具包,后来被放弃了。
从性能角度来看,可以说Interix更接近内核,因此享有较短的代码运行路径。真正的问题是多少,这有关系吗?对于大多数程序而言,差异仅为百分之几,可以忽略不计。当然,可以提出一个具有大量I / O的人工示例。我宁愿将此类负载放在本机UNIX上,因为它比本机Windows和Windows之上的UNIX加载项都快。随着负载的增加,许多人已从Windows迁移到UNIX,而我不知道从CygWin转换为Interix的示例(反之亦然)。寻求的是UNIX兼容性,而不是UNIX的性能,因此我将其放在列表的末尾。