Windows 10的周年纪念更新在2016年增加了对Windows 10 Linux环境的支持。但不要被欺骗:这不仅仅是一个Bash shell。它是在Windows上运行Linux应用程序的完全兼容层。

我们已经介绍了Windows 10的新Bash shell中可以执行的许多操作,因此为方便起见,我们将所有这些指南汇总到一个大型列表中。

Linux上的Linux入门

您可以在任何版本的Windows 10上安装Linux环境和Bash shell,包括Windows 10 Home。但是,它确实需要64位版本的Windows 10.您只需启用Windows子系统Linux功能,然后从Windows应用商店安装所选的Linux发行版 - 例如Ubuntu。

从2017年末的Fall Creators Update开始,您不再需要在Windows中启用开发人员模式,此功能不再是测试版。

安装Linux软件

在Ubuntu(或Debian)环境中安装Linux软件的最简单方法是使用 apt-get 命令。 (该 apt 命令也有效。)此命令从Ubuntu的软件存储库下载并安装软件。只需一个命令即可下载并安装一个或多个应用程序。

由于这是一个或多或少完整的Ubuntu用户空间环境,您还可以通过其他方式安装软件。例如,您可以像在Linux发行版上一样编译和安装源代码中的软件。

如果您已安装其他Linux发行版,请使用命令在该特定发行版上安装软件。例如,openSUSE使用 zypper 命令。

运行多个Linux发行版

Fall Creators Update还支持多个Linux发行版,以前只有Ubuntu可用。最初,您可以安装Ubuntu,openSUSE Leap,SUSE Linux Enterprise Server,Debian GNU / Linux或Kali Linux。 Fedora也在推进,我们可能会看到未来会提供更多的Linux发行版。

您可以安装多个Linux发行版,甚至可以同时运行多个不同的Linux环境。

如果您不确定要安装哪个,我们建议使用Ubuntu。但是,如果你需要一个特定的Linux发行版 - 也许你正在测试运行SUSE Linux Enterprise Server或Debian的服务器上运行的软件,或者你想要Kali Linux中的安全测试工具 - 它们可以和Ubuntu一起在商店中使用。

在Bash中访问Windows文件,在Windows中访问Bash文件

您的Linux文件和Windows文件通常是分开的,但有一些方法可以从Windows访问Linux文件,从Linux环境访问Windows文件。

您安装的Linux发行版会创建一个隐藏文件夹,其中存储该Linux环境中使用的所有文件。如果要使用Windows工具查看和备份Linux文件,可以从Windows访问此文件夹,但Microsoft警告您不应使用Windows工具修改这些Linux文件,也不应在此处使用Windows应用程序创建新文件。

当您在Linux环境中时,可以从/ mnt /文件夹下访问Windows驱动器。您的C:驱动器位于/ mnt / c,而您的D:驱动器位于/ mnt / d,例如。如果要使用Linux和Windows环境中的文件,请将它们放在Windows文件系统中的某个位置,然后通过/ mnt /文件夹访问它们。

安装可拆卸驱动器和网络位置

适用于Linux的Windows子系统自动在/ mnt /文件夹下安装固定内部驱动器,但它不会自动安装可移动驱动器,如USB驱动器和光盘。它也不会自动挂载可能映射到您PC上的任何网络驱动器。

但是,您可以自己安装这些文件并使用特殊的mount命令在Linux环境中访问它们,该命令利用了drvfs文件系统。

切换到Zsh(或另一个Shell)而不是Bash

虽然微软最初将此功能作为“Bash shell”环境,但它实际上是一个底层兼容层,允许您在Windows上运行Linux软件。这意味着如果您愿意,可以运行其他shell而不是Bash。

例如,您可以使用Zsh shell而不是Bash。当您在“开始”菜单中打开Linux shell快捷方式时,甚至可以让标准Bash shell自动切换到Zsh shell。

在Windows上使用Bash脚本

由于这个环境,实际上可以在Windows上编写Bash shell脚本并运行它。您的Bash脚本可以访问存储在/ mnt文件夹下的Windows文件,因此您可以使用Linux命令和脚本来处理正常的Windows文件。您还可以在Bash脚本中运行Windows命令。

您可以将Bash命令合并到Batch脚本或PowerShell脚本中,这非常方便。对于所有这些以及更多内容,请参阅我们的Windows 10中的bash脚本指南。

从Linux Shell外部运行Linux命令

如果您只是想快速启动程序,执行命令或运行脚本,您甚至不需要首先启动Bash环境。你可以使用 bash -c 要么 wsl 命令从Linux shell外部执行Linux命令。Linux环境只是运行命令,然后退出。如果从命令提示符或PowerShell窗口中运行此命令,该命令会将其输出打印到命令提示符或PowerShell控制台。

你可以做很多事情 bash -c 要么 wsl。您可以创建桌面快捷方式来启动Linux程序,将它们集成到批处理或PowerShell脚本中,或以运行Windows程序的任何其他方式运行它们。

从Bash运行Windows程序

从Creators Update(2017年春季发布)开始,您可以在Linux环境中运行Windows程序。这意味着您可以在Bash脚本中集成Windows命令和Linux命令,或者只从您可能已经使用的标准Bash或Zsh shell运行Windows命令。

要运行Windows程序,请键入.exe文件的路径,然后按Enter键。您将在Bash环境中的/ mnt / c文件夹下找到已安装的Windows程序。请记住,该命令区分大小写,因此“Example.exe”与Linux中的“example.exe”不同。

运行图形Linux桌面程序

Microsoft不正式支持Windows上的图形Linux软件。 Windows子系统Linux功能旨在运行开发人员可能需要的命令行程序。但实际上可以使用此功能在Windows上运行图形Linux桌面程序。

但是,默认情况下这不起作用。您需要安装X服务器并设置 DISPLAY 图形Linux桌面程序将在Windows桌面上运行之前的变量。应用程序越简单,就越有可能运行良好。应用程序越复杂,它就越有可能尝试做一些微软的Linux底层Windows子系统尚不支持的东西。你所能做的就是用这些指示给它一个机会并希望最好。

选择您的默认Linux环境

如果安装了多个Linux发行版,则可以选择默认安装。这是使用Linux启动Linux发行版时使用的发行版 bash 要么 wsl 命令,或当你使用 bash -c 要么 wsl 用于从Windows中的其他位置运行Linux命令的命令。

即使你安装了多个Linux发行版,你仍然可以通过运行像这样的命令直接启动它们 ubuntu 要么 opensuse-42。您需要的确切命令将在Microsoft Store上的每个Linux发行版的下载页面上详细说明。

从文件资源管理器快速启动Bash

您不必从其快捷方式图标启动Linux shell。您可以在文件资源管理器中快速启动它,方法是在地址栏中键入“bash”并按Enter键。将出现您的默认Linux发行版的Bash shell,当前工作目录将是您在文件资源管理器中打开的目录。

该文章还提供了通过编辑Windows注册表在文件资源管理器中添加“Open Bash shell here”选项的说明,为您提供了方便的上下文菜单选项,其工作方式类似于“在此处打开PowerShell窗口”或“在此处打开命令提示符”选项。

更改您的UNIX用户帐户

首次设置Bash时,系统会提示您创建UNIX用户帐户并设置密码。每次打开Bash窗口时,您都会自动使用此帐户登录。如果要更改UNIX用户帐户 - 或者将root帐户用作shell中的默认帐户,则会有一个隐藏的命令用于更改默认用户帐户。

卸载并重新安装Linux环境

在安装了某些程序或更改了某些设置之后,您可能需要重新安装Ubuntu或其他Linux发行版并获得全新的Linux环境。这在以前有点复杂,但您现在可以通过卸载Linux发行版来完成它,就像您使用任何其他应用程序一样,然后从Store重新安装它。

要在不重新下载Linux发行版的情况下获得新系统,可以从Windows命令提示符或PowerShell控制台运行发行版的命令以及“clean”选项。例如,要重置Ubuntu而不重新加载它,请运行 ubuntu clean .

如果您仍然安装了较旧的Linux环境 - 在Fall Creators Update之前安装了一个 - 您仍然可以使用lxrun命令将其卸载。

升级您的Ubuntu环境

在Windows 10的Fall Creators Update之后,您现在必须从Store安装Ubuntu和其他Linux环境。当您这样做时,它们将自动更新到最新版本,而无需任何特殊命令。

但是,如果您在较旧版本的Windows上创建了Bash环境,则将安装较旧的Ubuntu环境。您只需打开商店,然后从Windows应用商店安装最新的Ubuntu即可升级。


毫无疑问,富有进取心的极客将会想出未来Linux环境可以做的其他有趣的事情。 Windows子系统Linux将有望继续变得更强大,但不要指望微软会在短期内正式支持图形Linux桌面应用程序。

重要提示:
编辑点评: