用Windows 10的新Bash Shell可以做的所有事情

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

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

在Windows上开始使用Linux

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

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

截至2017年底的秋季创作者更新 ,您不再需要在Windows中启用开发者模式 ,并且此功能不再是测试版。

安装Linux软件

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

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

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

如果您安装了另一个Linux发行版,请使用这些命令来安装该特定发行版上的软件。 例如,openSUSE使用zypper命令。

运行多个Linux发行版

相关: Ubuntu,openSUSE和Fedora在Windows 10上的区别是什么?

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文件

相关: 如何在Windows中访问您的Ubuntu Bash文件(以及您的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子系统中安装可移动驱动器和网络位置

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

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

切换到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脚本中 ,这非常方便。 对于所有这些以及更多内容,请参阅我们的指南以在Windows 10中对脚本进行打击

从Linux Shell外部运行Linux命令

相关: 如何在Windows 10的Bash Shell之外运行Linux命令

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

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

从Bash运行Windows程序

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

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

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

运行图形化Linux桌面程序

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

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

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

选择您的默认Linux环境

相关: 如何在Windows 10上设置您的默认Linux发行版

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

即使您安装了多个Linux发行版,仍然可以通过运行诸如ubuntuopensuse-42类的命令直接启动它们。 您需要的确切命令在Microsoft商店的每个Linux发行版的下载页面上都有详细说明。

从文件浏览器快速启动Bash

相关: 如何从Windows 10的文件浏览器快速启动Bash Shell

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

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

更改您的UNIX用户帐户

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

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

卸载并重新安装Linux环境

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

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

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

如果您仍然安装了较旧的Linux环境(一种是在Fall Creators更新之前安装的),您仍然可以使用lxrun命令将其卸载

升级你的Ubuntu环境

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

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

但是,如果您在旧版本的Windows上创建了Bash环境,则会安装较旧的Ubuntu环境 您可以打开Store并从Windows Store安装最新的Ubuntu来升级。


毫无疑问,企业极客们会想出未来可以在Linux环境下做的其他有趣事情。 Linux的Windows子系统有望继续获得更强大的功能,但不要指望微软能够在短期内正式支持图形化Linux桌面应用程序。

您可以使用Windows 10的新Bash Shell

窗10周年纪念更新带来了“Bash在Ubuntu在Windows”环境到Windows 10,但不要被欺骗:这不仅仅是一个Bash shell中多。 它是在Windows上运行Linux应用程序的完全兼容性层。

我们已经涵盖了许多在Windows 10的新Bash shell中可以做的事情,所以为了方便起见,我们在这里将所有这些指南集成到一个大型列表中。

在Windows上启动Bash

您可以在任何版本的Windows 10上安装Bash shell,包括Windows 10 Home。 但是,它需要64位版本的Windows 10.您只需要启用开发人员模式,将该功能添加到Windows,然后运行Bash程序。

当您运行Bash程序时,它将下载Ubuntu系统文件并为您设置一个Bash环境。 看看我们的指南,它安装更多。

安装Linux软件

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

由于这是一个或多或少的完整的Ubuntu用户空间环境,您还可以以其他方式安装软件。 您可以从源代码编译和安装软件,就像在Linux发行版上一样。 在Windows中我们的指南,易于得到了更一步一步的信息。

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

您的Bash环境文件和Windows文件通常是分开的,但是有从Windows访问Bash文件和从Bash环境访问Windows文件的方法。

当Bash将Ubuntu系统文件下载到您的硬盘驱动器时,它还会为该Bash Linux兼容性环境创建一个主文件夹。 这些文件夹通常是隐藏的,但您可以在Windows用户帐户的Application Data文件夹下找到它们。

当您在Linux环境中时,可以从/ mnt /文件夹下访问Windows驱动器。 您的C:驱动器位于/ mnt / c,您的D:驱动器位于/ mnt / d。 你可以看到更多的细节我们充分的指导

使用Zsh(或另一个Shell)而不是Bash

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

例如,您可以使用岩组外壳,而不是Bash 您甚至可以在开始菜单中打开Bash shell快捷方式时,Bash自动切换到Zsh shell。

在Windows上使用Bash脚本

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

不幸的是,没有办法实际启动Windows程序或从Bash脚本或Bash shell中运行Windows命令。 但是,您可以将Bash命令到一个批处理脚本PowerShell脚本 ,这是非常方便的。 对于这一切和更多,请参阅我们的指南在Windows 10的bash脚本

从外部Bash运行Linux命令

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

你可以做很多与bash -c。 您可以创建桌面快捷方式来启动Linux程序,将它们集成到批处理或PowerShell脚本中,或者以任何其他方式运行Windows程序。 对于更多的想法,请在Windows中使用bash -c我们的指示

运行图形Linux桌面程序

Microsoft在Windows上不正式支持图形Linux软件。 Bash功能只是用于运行开发人员可能需要的命令行程序。 但实际上可以使用Bash shell在Windows上运行图形化的Linux桌面程序。

但是,默认情况下不会工作。 您需要安装X服务器并设置DISPLAY变量,然后才能在Windows桌面上运行图形化的Linux桌面程序。 应用程序越简单,越有可能工作得很好。 应用程序越复杂,它就越有可能尝试做某事微软的Linux底层Windows子系统尚不支持。 你能做的最好是给它这些说明了一枪 ,并希望最好的结果。

更改您的UNIX用户帐户

当您首次设置Bash时,系统将提示您创建UNIX用户帐户并设置密码。 每次您打开Bash窗口时,都会使用此帐户自动登录。 如果你想改变你的UNIX用户帐户或使用root账号为默认帐户的壳有一个隐藏的lxrun命令或更改默认用户帐户

卸载并重新安装Ubuntu Envrionment

安装了一些程序或更改了一些设置后,您可能需要重新安装Ubuntu环境并获得一个新的Linux平台。 您可以与此处描述的lxrun命令做到这一点 ,它允许你删除您安装的Linux系统文件,无论是在你的主文件夹保留或删除用户的文件。

Bash将在下次启动时自动重新安装Ubuntu环境,但lxrun命令也可用于安装Linux环境。 例如,您可以编写一个命令来自动响应在安装Linux环境时询问的问题。


进取的极客将毫无疑问地计算出你在未来可以用Linux环境做的其他有趣的事情。 希望Linux系统的Windows子系统可以继续获得更强大的功能,但不要指望微软正式支持需要在后台运行的图形化Linux桌面应用程序或服务器软件。

赞 (0)
分享到:更多 ()