Windows10的新Bash Shell让您无所不能

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

我们已经介绍了Windows10的新Bash shell中可以做的很多事情,所以为了方便起见,我们在这里将所有这些指南汇总到一个庞大的列表中。

Windows上的Linux入门

相关:如何在Windows 10上安装和使用Linux Bash Shell

您可以在任何版本的Windows 10(包括Windows 10 Home)上安装Linux环境和Bash shell。然而,它确实需要64位版本的Windows 10。你只需启用Windows Subsystem for Linux功能,然后从Windows应用商店安装您选择的Linux发行版-例如,Ubuntu。

从2017年末的秋季创作者更新版开始,你不再需要在Windows中启用开发者模式,这一功能也不再是测试版。

安装Linux软件

相关:如何在Windows 10的Ubuntu Bash Shell中安装Linux软件

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

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

如果您已经安装了另一个Linux发行版,请改用用于在该特定发行版上安装软件的命令。例如,openSUSE使用zypper命令。

运行多个Linux发行版

相关:Windows10上的Ubuntu、openSUSE和Fedora有什么不同?

秋季创建者更新还支持多个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文件

相关:如何在Windows中访问Ubuntu Bash文件(以及在Bash中访问Windows系统驱动器)

您的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子系统中挂载可移动驱动器和网络位置

Windows Subsystem for Linux会自动在/mnt/文件夹下挂载固定的内部驱动器,但它不会自动挂载USB驱动器和光盘等可移动驱动器。它也不会自动挂载任何可能映射到您PC上的网络驱动器。

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

切换到Zsh(或其他Shell)而不是Bash

相关:如何在Windows 10中使用Zsh(或其他Shell

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

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

在Windows上使用Bash脚本

相关:如何在Windows 10上创建和运行Bash Shell脚本

多亏了这个环境,实际上可以在Windows上编写并运行一个Bash shell脚本。您的Bash脚本可以访问存储在/mnt文件夹下的Windows文件,因此您可以使用Linux命令和脚本来处理普通的Windows文件。您还可以从Bash脚本中运行Windows命令。

您可以将Bash命令合并到批处理脚本或PowerShell脚本中,这非常方便。有关所有这些和更多信息,请参阅我们的Windows10中bash脚本指南。

从Linux Shell外部运行Linux命令

相关:如何在Windows 10上从Bash Shell外部运行Linux命令

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

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

从Bash运行Windows程序

相关:如何从Windows 10的Bash Shell运行Windows程序

从创建者更新版(2017年春季发布)开始,你就可以在Linux环境中运行Windows程序了。这意味着您可以在Bash脚本中将Windows命令与Linux命令集成在一起,或者只从您可能已经在使用的标准Bash或Zsh shell中运行Windows命令。

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

运行图形化Linux桌面程序

相关:如何从Windows 10的Bash Shell运行图形化Linux桌面应用程序

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

然而,这在默认情况下不起作用。在Windows桌面上运行图形Linux桌面程序之前,您需要安装X服务器并设置DISPLAY变量。应用程序越简单,运行良好的可能性就越大。应用程序越复杂,它就越有可能尝试做一些微软Linux的底层Windows子系统还不支持的事情。你所能做的就是按照这些指示试一试,并期待最好的结果。

选择您的默认Linux环境

相关:如何在Windows 10上设置默认Linux分发

如果您安装了多个Linux发行版,则可以选择默认安装。这是使用bash或wsl命令启动Linux发行版时使用的发行版,或者使用bash-c或wsl命令从Windows中的其他地方运行Linux命令时使用的发行版。

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

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

相关:如何从Windows 10的文件资源管理器快速启动Bash Shell

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

该文章还提供了通过编辑Windows注册表将“Open Bash shell here”选项添加到文件资源管理器的说明,为您提供了一个与“Open PowerShell Window here”或“Open Command Prompt Here”选项类似的便捷上下文菜单选项。

更改您的UNIX用户帐户

相关:如何在Windows10的Ubuntu Bash Shell中更改您的用户帐户

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

卸载并重新安装Linux环境

相关:如何卸载(或重新安装)Windows 10的Ubuntu Bash Shell

在安装了一些程序或更改了一些设置之后,您可能想要重新安装Ubuntu或其他Linux发行版,并获得一个全新的Linux环境。这在以前有点复杂,但现在您只需像卸载任何其他应用程序一样卸载Linux发行版,然后从应用商店重新安装它,就可以做到这一点。

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

如果您仍然安装了较旧的Linux环境-在秋季创建者更新之前安装的环境-您仍然可以使用lxrun命令卸载它。

升级您的Ubuntu环境

相关:如何将Windows Bash Shell更新到Ubuntu 16.04

在Windows10秋季创建者更新之后,您现在必须从商店安装Ubuntu和其他Linux环境。这样做后,它们将自动更新到最新版本,而无需任何特殊命令。

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

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

相关文章