Windows Linux子系统(WSL)是一个功能强大的工具,最新版本将真正的Linux内核放在Windows 10上,将来,将支持GUI应用程序,并且仅用一个命令即可进行配置。
WSL尚不支持图形界面,因此工作是通过终端完成的。当你安装了Linux发行版(或多个版本)时,通过PowerShell进行管理和与之交互需要一定的技能。
在本文中,将介绍一些需要用到的重要命令。
在安装WSL2之前,你需要获取WSL。听起来可能有些奇怪,但是第一代和第二代的激活方法不同。要成为新版本的所有者,必须首先安装第一个版本,你不能直接安装WSL2。
首先,你需要阅读Windows Linux子系统Windows安装指南。如果你正在寻找最快捷的方法,则只需一行代码即可完成。
以管理员权限打开PowerShell,然后输入命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
可以立即或稍后重新启动计算机。
适用于PowerShell的基本WSL命令
如果你使用的是WSL2或两者结合使用,则基础知识包括用于控制每个版本使用哪个Linux发行版的命令。对于这些命令,较短的版本仅在Windows 10 19041和更高版本中可用。无论如何,你都需要了解完整版本以了解其功能。
一、基础
如果你打开了PowerShell窗口,并希望进入默认的WSL Linux发行版:
wsl
退出会带你回到PowerShell。如果要运行特定的发行版:
wsl -d <发行名称>
要启动Debian,命令将是
wsl -d debian
可以提到用于管理WSL的更有用的工具之一,帮助电话:
wsl --help
二、WSL版本控制
要查看为每个已安装的Linux发行版分配了哪个WSL版本:
wsl --list --verbose 或 wsl -l -v
结果将显示哪个版本是默认的wsl发行版。如果只想知道安装了哪个发行版,请取消选中详细选项。
如果你想更进一步,并指定默认情况下将使用哪些已安装的发行版:
wsl --set-default 或 wsl -s
例如,如果要安装Ubuntu作为默认发行版:
wsl -s ubuntu
如果你已升级到WSL2,并希望将其设置为默认值:
wsl --set-default-version 2
结果,将来的任何Linux安装都将使用WSL2,但不会安装已经安装的WSL的第一个版本,此转换必须手动完成。更改链接到发行版的WSL版本:
wsl --set -version <发行名称><version>
例如,要将Debian更改为WSL 2:
wsl --set -version Debian 2
三、使用wsl.exe运行命令
你可以运行一些Linux命令,而不必先打开单独的shell,这对于启动更新等快速过程特别方便。
模板是:wsl <argument><options><commandline>
如果要在默认的Linux发行版上运行命令,则无需提供参数。例如,如果你将该发行版作为默认发行版,则要为Ubuntu运行sudo apt update命令,请键入:
wsl sudo apt update
系统将提示你输入Linux密码,否则,你可以在不离开PowerShell的情况下运行命令。如果要使用特定版本的Linux,则需要使用参数和选项。我们对Debian使用相同的命令:
wsl
其中--distribution或-d参数,debian选项。
这对于所有类型的命令都可以用来安装软件。还支持用于自动接收的标准Linux标志,如-y。例如,考虑使用wsl.exe在Debian键测试上安装youtube-dl的命令:
wsl -d debian sudo apt install youtube-dl -y
与在Linux中运行应用程序和其他标准功能一样,可以使用类似的模式。要使用特定用户,即使使用了参数,也可以在上面的模板中编写--user或-u。
四、WSL管理
有用于管理WSL的基本命令。我们已经命名了其中一些名称,例如分发列表和设置默认选项。
如果要将分发导出为tar文件,请执行以下操作:
wsl --export <发行版> <位置><文件名>
输入要创建的文件的完整路径很重要。下面的示例将Debian导出创建到C:\驱动器上的Code文件夹,并将其命名为debiantest。
wsl --export debian c:\code\debiantest.tar
通过将--export参数更改为--import,也可以导入具有相同模式的tar文件。要运行导入的发行版:
wsl
导入后,将创建debiantest文件。要启动它:
wsl