适用于 Linux 的 Windows 子系统-Windows Subsystem for Linux

Windows和Linux是全球使用最广泛的操作系统。然而,两者截然不同。Windows是Microsoft的商业产品,Microsoft是世界上最大的软件公司之一。相比之下,作为“自由开源软件”(FOSS)的Linux是成千上万志愿者的共同努力。

Windows主要用于私人和商业环境。Linux运行在专业人士和个人的服务器和计算机上。许多开发人员使用Linux。此外,开放的操作系统是安卓手机操作系统的基础。

适用于Linux的Windows子系统(WSL)使Windows用户可以访问数以千计的免费软件包和开源工具。以前,这需要在专用的双引导Linux环境中设置虚拟机或重新启动计算机。但是,使用WSL,只需单击几下即可。

图片[1]-适用于 Linux 的 Windows 子系统-Windows Subsystem for Linux

  什么是适用于Linux的Windows子系统?

适用于Linux的Windows子系统是一个兼容层,它允许直接从Windows命令行执行本机Linux程序。具体来说,WSL允许以标准的可执行和可链接格式(ELF)执行64位Linux二进制文件。

适用于Linux的Windows子系统从Windows10开始可用。但微软对让Windows用户更轻松地从他们熟悉的桌面环境中使用Linux工具的兴趣可以追溯到更远的地方。例如,WSL源于“MicrosoftWindowsServicesforUNIX”(SFU/Interix)项目,而该项目又是对已经集成在WindowsNT中的“POSIX子系统”的进一步发展。对于适用于Linux2(WSL2)的Windows子系统,这种开发仍在继续。

在WSL发布之前,用户必须尝试结合Windows和Linux世界的最佳方面。原则上,有两种方法可以使Linux程序在Windows下运行:

使用虚拟机。一个完整的Linux安装作为Windows下的虚拟电脑。该方法对用户友好,可以充分利用任何Linux应用程序,但需要一些硬件资源。此外,在两个操作系统上运行的程序之间的互换性有限。

使用Linux运行环境Cygwin。它安装在Windows下,允许使用许多流行的Linux程序。使用Cygwin可以在Windows和Linux程序之间进行交换,但范围有限。

此外,用户可以将Linux设置为与现有Windows安装并行。但是,这种设置称为双启动,需要重新启动计算机才能切换到相应的操作系统。因此,使用此选项无法在Windows和Linux运行的程序之间进行交换。

适用于Linux的Windows子系统不需要虚拟机,因此性能卓越。但是,板载没有完整的Linux内核,因此并非所有应用程序都受支持。特别是,WSL本身不允许执行具有图形用户界面(GUI)的Linux程序。也存在用于此的方法,但它们需要额外的安装和配置步骤。

使用WSL有什么要求?

您不需要任何特殊的系统要求即可使用适用于Linux的Windows子系统。您的计算机只需要有x64或ARM处理器,几乎所有现代系统都是这种情况。此外,您需要64位Windows10版本1709或更高版本。如果您不确定您使用的是哪个Windows版本和版本,您可以通过以下步骤进行检查:

•按Windows徽标键+[R],在出现的文本框中键入“winver”,然后按[回车键]。

•或者,单击“开始”>“设置”>“系统”>“关于”>“Windows规范”并阅读其中的值。

如何激活/安装适用于Linux的Windows子系统?

在您的系统上激活适用于Linux的Windows子系统的过程很简单。我们将在此处为家庭用户展示该过程。进行如下:

单击开始>控制面板>程序>程序和功能>启用或禁用Windows功能。

勾选“适用于Linux的Windows子系统”。重启你的电脑。

打开MicrosoftStore并搜索“Linux”。您将看到一系列可用的Linux发行版。

单击所需的Linux发行版,然后单击“安装”。如果您不确定哪个发行版适合您,我们建议安装“UbuntuLinux”。

安装完成后,点击“开始”。

在出现的窗口中,包在第一次启动时被下载并解压。这可能需要几分钟的时间。最后,系统将提示您为新的Linux安装设置用户名和密码。

注意

您可以与WSL并行运行多个Linux发行版。在这种情况下,为每个分发创建一个单独的用户帐户。

作为前两个步骤的替代方法,您还可以使用以下PowerShell命令为Linux启用Windows子系统。请注意,您必须以管理员身份执行命令。执行后,重新启动计算机并按照我们从第4步开始的说明进行操作。

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

使用适用于 Linux 的 Windows 子系统的第一步是什么?

激活适用于 Linux 的 Windows 子系统并安装 Linux 发行版后的第一步是什么? 这取决于 WSL 的目的。 Web 开发人员通常需要与应用程序开发人员不同的应用程序配置文件。 我们将在这里总结一些经常需要的第一步。

  • 显示和控制已安装的 WSL

在命令行上使用 Windows wsl.exe 工具来控制已安装的 Linux 发行版。 打开命令行并输入以下命令以显示 wsl 命令的可用选项:

wsl --help
  • 使用适用于 Linux 的 Windows 子系统显示 Linux 发行版

您可以使用适用于 Linux 的 Windows 子系统来安装和使用多个 Linux 发行版。 在命令行上运行以下命令以获取已安装发行版的概览:

wsl --list --verbose
  • 使用适用于 Linux 的 Windows 子系统启动默认的 Linux 发行版

要默认启动 Linux 发行版,只需执行不带任何其他参数的 wsl 命令:

wsl

之后,您将以 Linux 用户身份登录,并可以直接访问已知的 Linux 命令。

  • 使用 WSL 更新 Linux 发行版

首次登录 Linux 发行版后,请使用以下命令更新已安装的软件包:

sudo apt update && sudo apt upgrade

由于这是一个在 Linux 级别具有系统范围影响的操作,因此该命令以“sudo”开头。 然后,您将必须输入在安装 Linux 发行版期间设置的密码。

  • 使用适用于 Linux 的 Windows 子系统安装 Git

Git 是使用最广泛的代码项目版本控制工具。 要在 Linux 发行版中安装 Git,请使用以下命令:

sudo apt install git
  • 使用适用于 Linux 的 Windows 子系统从 Windows 使用 Linux 工具

您已经了解了如何使用 wsl 工具登录到 Linux 发行版,然后使用 Linux 命令。 除此之外,还有另一种方法。 您可以直接从 Windows shell 运行 Linux 命令。 例如,这对于在 PowerShell 脚本中使用 Linux 命令很有用。 只需将 Linux 命令添加到 wsl 工具的调用中:

# use Linux-Command `ls` to output contents of the current directory
wsl ls -la
  • 使用适用于 Linux 的 Windows 子系统从 Linux 命令提示符使用 Windows 工具

如您所见,您可以使用 WSL Linux 命令直接从 Windows 命令行或 PowerShell 运行脚本。 这也适用于其他方式:您可以在 Linux 命令提示符或 Linux 脚本中使用 Windows 命令行工具。 命令行工具可以像常规 Linux 命令一样组合。

这里我们将使用 Windows 工具 ipconfig.exe 来显示网络信息,并结合 Linux 工具 grep 来过滤 IPv4 结果并剪切以删除列字段:

ipconfig.exe | grep IPv4 | cut -d: -f2

在哪里使用适用于 Linux 的 Windows 子系统

WSL 主要用于在命令行和脚本中使用 Linux 命令。 它还可用于链接 Windows 和 Linux 工具。 这使得 WSL 与开发人员高度相关。 特别是对于 Web 开发和开源编程,启用 WSL 会更容易。 启用适用于 Linux 的 Windows 子系统后,您可以执行以下操作:

  • 从 Microsoft Store 安装一个或多个 Linux 发行版。
  • 使用流行的命令行工具,例如“grep”、“sed”和“awk”。
  • 运行其他 ELF-64 二进制文件。
  • 为 Bash shell 和其他 shell 环境运行脚本。
  • 使用基于终端的应用程序,例如“vim”、“emacs”和“tmux”。
  • 使用编程语言和相关工具,例如 NodeJS、Javascript、Python、Ruby、C/C++、C# & F#、Rust、Go 等。
  • 在您的机器上运行 Linux 服务,例如 SSHD、MySQL、Apache、lighttpd、MongoDB、PostgreSQL 等。
  • 使用 Linux 发行版的包管理器安装其他软件。
  • 使用类 Unix 命令行调用 Windows 应用程序。
  • 在 Windows 上运行 Linux 应用程序。
请登录后发表评论

    没有回复内容

  • 波浪
  • 波浪
  • 波浪
  • 波浪