【问题标题】:What is the best way to use linux utilities under windows? [closed]在 Windows 下使用 linux 实用程序的最佳方法是什么? [关闭]
【发布时间】:2010-08-19 07:49:03
【问题描述】:

像 sed、awk 和其他 shell 脚本功能这样的 Linux 实用程序非常棒,当我在 windows 上开发并且无法使用其中任何一个时,生活变得更加艰难。

对于那些想要在windows下使用类似linux的工具的人,人们建议使用cygwin。但我觉得 cygwin 对于只想使用少数命令的人来说会是一种过度杀伤力。

有人说 Windows Unix 服务也是一个不错的选择。

我没有使用过这些。一些有经验的程序员可以建议最好/最简单的方法吗?当然除了切换到 linux 本身。

【问题讨论】:

  • 有原生的替代品,你是否了解 PowerShell?
  • +1 PowerShell。如果您已经习惯了 Linux 并且只想重新应用旧的 Linux 技能,那么 PowerShell 就完全没用了。但是,如果您尝试在 Windows 中运行 *nix 实用程序,因为您有想从命令 shell 解决的问题,那么绝对值得您花时间研究 PowerShell 和 cmdlet(“commandlet”)、脚本、加载项、以及整个社区的 PS 就绪应用程序,它们很好地解决了旧的 *nix 工具用于解决的问题,而 PS 以更易于管理的方式解决了这些问题。
  • 对学习 powershell 不感兴趣,因为我不想浪费时间学习任何“windows 技能”。

标签: windows linux cygwin


【解决方案1】:

这里建议的大多数工具的问题是它们不会经常更新。 GnuWin32 的最后一次更新是在 2010 年 12 月 27 日; UnxUtils 最后一次更新是在 2007 年 3 月 1 日

我建议MSYS2,一个非常好的选择,它内置了Arch's pacman的Win32端口包管理系统。它是像 MSYS 这样的 Cygwin 的衍生产品,但比 MSYS(大量软件包并且几乎每天都更新)和(与 Cygwin 相比非常轻巧)要好得多。

这是一个在 Windows 下工作的rolling release distribution,因此您可以获得最新最好的the packages。 MSYS2 还具有 MinGW,提供 x86 和 x86_64 两种风格。他们有自己的软件包列表 - MinGW packages

维护人员也很和蔼。

【讨论】:

    【解决方案2】:

    我试过Gow 有一段时间了,很好。它为 Windows 提供了 130 个 Unix-shell 实用程序。文件资源管理器中的上下文菜单,用于在当前文件夹中启动提示,非常方便。

    【讨论】:

      【解决方案3】:

      多年来,我一直在使用UnxUtils,它们是通用 GNU 实用程序到本机 Win32 的端口。

      我应该补充一点,我还使用过 Cygwin(等)和 Microsoft 的 Unix 服务,但它们都不是很好 对我来说,因为它们的效果不如原生版本从命令提示符开始,在 Windows 下使用 ksh/bash/whatever 永远不会真正正常工作,即使我一直在 unix 下使用 ksh。

      【讨论】:

      • 我也用过,非常有用的工具:)
      • 是的,UnxUtils 很棒。只需将它们解压缩到 c:\bin\ 并将 c:\bin 添加到路径中。完成。
      【解决方案4】:

      我认为GnuWin32 项目正是您正在寻找的。移植到 Windows 的 Unix 命令行工具。

      【讨论】:

      • 目前这对我有用。我也感谢polemon在下面的回答,它适用于特殊情况。
      【解决方案5】:

      我经常尝试这样的事情,但老实说,没有一个真的很好用。

      因此我建议使用虚拟机(例如VirtualBox)并在其中安装一个小型linux。您可以使用共享文件夹轻松地将文件移出和移入来宾系统。

      根据我的经验判断,这是我目前使用的最佳解决方案。

      【讨论】:

      • 我忘了说,您可以将any 文件夹指定为共享文件夹,包括您的整个C 盘或您的工作目录。有了这个,您可以将您的虚拟化 Linux 用作 shell,并对有问题的文件进行操作。
      • 你到底遇到了什么问题?我使用 GnuWin32 并没有遇到任何实际问题。
      • 哦,这真是一个有趣的解决方案。我确实尝试过,但我知道共享文件夹的事情。我用的是笔式驱动器。 :P 我真傻。
      • None 真的很好用吗?我不确定。我每天都使用 Cygwin。这是发生在 Windows 上的最好的事情,因为 32 位保护模式,恕我直言。效果很好。
      • 不要对 VMWare 7 和 8 执行此操作。两者都有一个非常错误的 vmhfs 文件系统仿真,这会导致虚拟机死锁。我有一些激烈的磁盘写入工作,两个版本都在 10 分钟内崩溃。这是 2013 年中期的状态,当我在 2014 年再次检查时并没有解决。说明了现实中有多少人使用共享文件夹。
      【解决方案6】:

      有一个GNU port of many of the utils。我觉得这很有用。

      如果你需要 Perl,我推荐Strawberry Perl.

      【讨论】:

        【解决方案7】:

        对于觉得 CygWin 过度使用的人来说,MSYS 是一种常见的替代方案。它仍然是一个特殊的提示,但它最初的目的是设置足够的 Unix 兼容性,以便使用 MinGW 编译器和典型的 configure/make 例程构建程序。

        使用 sed 和 awk 等工具在正常的 Windows 命令提示符下无法正常工作。它可以在一定程度上完成,但常见的用法涉及通常由 shell 解释但 Windows 命令提示符不支持的命令行语法。一个例子是通配符文件规范。我经常发现以 Unix 为中心的工具在 Windows 上并不像他们认为 shell 已将这些通配符扩展为文件列表那样可用。

        【讨论】:

          【解决方案8】:

          安装msysGit (netinstaller),它带有一个 (msys/minGW) shell 环境。

          它还在资源管理器中添加了一个“此处打开 shell”。

          它比 Cygwin 快,但牺牲了 unix 兼容性。

          【讨论】:

            【解决方案9】:

            也许这很愚蠢,但我通常在谷歌搜索即:“缩进窗口”。您可以从混合平台中选择工具。很多来自开放系统的东西已经移植到 Windows 上。

            【讨论】:

              猜你喜欢
              • 2021-10-31
              • 1970-01-01
              • 2018-07-07
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-09-29
              • 1970-01-01
              相关资源
              最近更新 更多