Bash 登陆 Windows 10

Bash 登陆 Windows 10

今天我在 Facebook 上看到的都是微软与 Ubuntu 合作推出的新闻进入 Windows

  • 如何下载?从 Ubuntu 还是 Windows?Windows 商店里没有。
  • 为什么他们一直说 Ubuntu bash?它与您在 Arch 或其他上运行的真正的 bash 有什么不同?
  • 是否可以执行 killall? fork?
  • 可以安装 zsh 吗?
  • Canonical 会维护它吗?还是更新来自 bash repos?

答案1

  1. 它目前还不可用,它将首先向 Windows 内部人员开放。

  2. 他们一直说 Ubuntu,因为它不仅仅是 Bash,它是一个 Ubuntu 用户空间。

  3. 有些东西可以工作,但有些东西不行。现在说还为时过早。我不指望你能从 bash shell 中终止任何 Windows 应用程序。某些东西,如 screen、tmux,还不能工作。

  4. 不知道,我对此表示怀疑。

  5. 我认为除了 Canonical 和 Microsoft 之外,没有人完全理解他们彼此之间的承诺将如何发挥作用。我认为可以肯定地说,如果没有 Canonical 的承诺,Microsoft 不会加入。

答案2

更新2016-08-09:

  • eWeek:Black Hat 揭露 Windows 10 中隐藏的 Linux 内核风险 (12通过3

更新2016-04-08:

  • 如何下载?从 Ubuntu 还是 Windows?Windows 商店里没有。

它刚刚发布了最新预览版,因此您目前需要设置您的 Windows 安装以在快速通道中接收 Insider Preview 版本设置->更新和安全->高级选项.然后更新到最新版本。

  • 打开或关闭 Windows 功能在桌面/旧版设置中,选中适用于 Linux 的 Windows 系统
  • 使能够开发者模式设置->更新和安全
  • 从开始菜单运行bash并确认在 Windows 上下载并安装 Ubuntu 的消息。安装完成后,Ubuntu 环境将向您致意。

  • 为什么他们一直说 Ubuntu bash?它与您在 Arch 或其他上运行的真正的 bash 有什么不同?

捷径Windows 上的 Ubuntu 上的 Bash指向C:\Windows\System32\bash.exe ~,详细信息中的文件描述为“微软 Bash 启动器”lxrun。虽然您可以通过运行来管理(安装、卸载、更新)环境,但这bash.exe似乎是与该环境交互的主要方式。

编辑:另一部《毁灭》的模仿作品名为“希特勒使用 Docker”嘲笑当前的科技货物崇拜。以下是转录为 SRT以防您找不到或观看该视频。

  • 可以安装 zsh 吗?

是的,但目前无法正常工作。我尝试将其设置dash为登录 shell,但它在当前实现中也被忽略了。这就是我目前发现的全部内容。


达斯汀·柯克兰 (Dustin Kirkland) 参与了此事,并在自己的博客上发表了 2 篇相关文章:

只是猜测,但听起来他们有一种仅运行 Ubuntu 命令行的迷你虚拟机。

这不正确,摘自达斯汀的博客:

“对,那么 Ubuntu 只是在虚拟机中运行吗?” 没有!…

“啊,好的,那么这就是容器中的 Ubuntu 吗?” 没有!…

“嗯,也许它很像 cygwin?” 不!…我们在这里谈论的是逐位、逐校验的 Ubuntu ELF 二进制文件直接在 Windows 中运行

[长时间停顿]

“那么也许是类似 Linux 模拟器的东西?” 现在你开始热身了!微软的一支精明的开发人员团队一直在努力调整一些微软研究技术,以便基本上将 Linux 系统调用实时转换为 Windows 操作系统系统调用。Linux 极客可以将其视为“wine”的反面——在 Windows 中本地运行的 Ubuntu 二进制文件。微软称之为“适用于 Linux 的 Windows 子系统”。(不,它目前还不是开源的。)

因此,作为工程工作的一部分,我需要将库存的 Ubuntu 根文件系统包装到 Windows 应用程序包 (.appx) 文件中,以便适合上传到 Windows 应用商店。

以下是其中一个演示文稿中的几张幻灯片:

在此处输入图片描述

这类似于用户模式Linux协同Linux,但微软显然构建了自己的实现,不需要运行 Linux 内核。

在此处输入图片描述 在此处输入图片描述

从微软的角度看社区以及他们的计划。

最后Ubundows 无限, 耶。

答案3

Windows 博客上发布了一些相关信息在 Windows 上的 Ubuntu 上运行 Bash。以下是部分摘录:

你们中的许多人告诉我们,在 Windows 上使用开源工具通常很困难,并且希望微软能够让在 Windows 上使用这些工具变得更容易。

为了实现这一目标,我们在 Windows 中构建了新的基础设施——适用于 Linux 的 Windows 子系统 (WSL),在此基础上我们运行正版 Ubuntu 用户模式映像由我们在 Canonical 的优秀合作伙伴(Ubuntu Linux 的创建者)提供。

结果是您现在可以在 Windows 上的 Ubuntu 上运行原生 Bash!

在此处输入图片描述

你现在可以:

  • 运行 Bash 脚本、Linux 命令行工具(如 sed、awk、grep),甚至可以在 Windows 上直接尝试 Linux 优先工具(如 Ruby、Git、Python 等)。
  • 您还可以从 Bash 内部访问 Windows 文件系统,从而可以使用您喜欢的 Windows 工具或 Linux 命令行工具处理同一组文件

但请谨慎购买(买家当心!):

  • 它被标记为测试版是有原因的:我们知道有些粗糙然后有些东西将会破碎!
  • 这不是一个服务器平台您将在其上托管网站、运行服务器基础设施等。
  • Bash 和 Linux 工具无法与 Windows 应用程序和工具交互,反之亦然。因此,您无法从 Bash 运行记事本,也无法从 PowerShell 在 Bash 中运行 Ruby。

只是猜测,但从他们的措辞来看“Ubuntu 用户模式映像”声音就像他们有某种运行命令行的 Ubuntu 的迷你虚拟机。显然不是迷你虚拟机但是,它更像是一个“Reverse-WINE” Linux 模拟器,可以更直接地运行 Linux 代码(尽管 VM 和模拟器的概念重叠)。

相关内容