Windows Subsystem for Linux(简称WSL)是一个在Windows上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。
通过适用于Linux的Windows子系统 (WSL),开发人员可以安装Linux发行版(例如 Ubuntu、OpenSUSE、Kali、Debian、Arch Linux 等),并直接在Windows上使用Linux应用程序、实用程序和Bash命令行工具,不用进行任何修改,也无需承担传统虚拟机或双启动设置的费用。
必须运行Windows 10版本2004及更高版本(内部版本19041及更高版本)或Windows 11才能使用。
以管理员身份打开命令提示符窗口,执行命令:wsl --install。此命令将启用运行WSL并安装Linux的Ubuntu发行版所需的功能,然后重启计算机。
使用WSL安装Linux发行版的过程完成后,使用“开始”菜单打开该发行版(默认情况下为 Ubuntu)。系统将要求你为Linux发行版创建“用户名”和“密码”。
在WSL上运行的每个Linux发行版都有其自己的Linux用户帐户和密码。每当添加分发版、重新安装或重置时,都必须配置一个Linux用户帐户。
若要更改或重置密码,请打开Linux发行版并输入命令:passwd。 系统会要求你输入当前密码,然后要求输入新密码,之后再确认新密码。
如果忘记了Linux分发版的密码:
wsl -u root进入默认WSL分发版的根目录
wsl -d Debian -u root
passwd <username>更新密码,其中username是发行版中帐户的用户名exit在PowerShell内关闭 WSL对于Ubuntu或Debian,使用命令:sudo apt update && sudo apt upgrade -y来更新和升级包。
安装完Windows子系统,进入子系统,安装ssh服务并启动: sudo apt-get install openssh-server sudo service ssh start service ssh status Active: active (running)查看子系统IP地址:ip addr,例如:inet 192.168.89.200。
假设Windows的IP地址为:192.168.1.100,默认情况下外界是无法直接通过192.168.89.200访问子系统的,需要在Windows上做一个端口转发、防火墙放行。以管理员身份打开命令提示符窗口:
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=22 connectaddress=192.168.89.200 connectport=22 netsh advfirewall firewall add rule name=WSL2 dir=in action=allow protocol=TCP localport=22
最后,局域网的其他机器就能登录啦:ssh root@192.168.1.100。
查看WSL版本:wsl --version,查看有关WSL及其组件的版本信息。
更新WSL:wsl --update,将WSL更新到最新版本。
查看WSL 状态:wsl --status,查看有关WSL配置的常规信息,例如默认发行版类型、默认发行版和内核版本。
Help命令:wsl --help,查看WSL中可用的选项和命令列表。
列出已安装的Linux发行版:wsl --list --verbose,该命令会列出已安装的发行版列表,其中包括状态(正在运行还是已停止)和WSL版本。
列出可用的Linux发行版:wsl --list --online。
安装新发行版:wsl --install -d <Distribution Name>,Distribution Name是发行版名字。
设置默认发行版:wsl --set-default <Distribution Name>,安装了多个发行版时,使用该命令设置默认发行版。
运行特定WSL发行版而不更改默认发行版:wsl -d <Distribution Name>。
备份发行版:wsl --export <Distribution Name> <FileName>,该命令可将指定发行版导出为tar文件作为备份。当系统崩溃或重装时,可以方便地恢复数据。
卸载发行版:wsl --unregister <Distribution Name>,该命令会删除发行版的所有数据、设置和软件,删前请三思!
迁移发行版,如果想把WSL从C盘挪到其他盘:
wsl --shutdownwsl --export <Distribution Name> <Path\FileName>wsl --unregister <Distribution Name>wsl --import <Distribution Name> <Path> <Path\FileName>装载磁盘或设备:wsl --mount <DiskPath>,DiskPath是物理磁盘所在的目录\文件路径,在所有WSL2发行版中附加和装载该磁盘。
卸载磁盘:wsl --unmount <DiskPath>,卸载磁盘路径中给定的磁盘,如果未提供磁盘路径,将卸载并分离所有已装载的磁盘。
可以在WSL中直接访问Windows文件系统,路径是/mnt/。反过来,也可以在Windows中访问WSL文件,在文件管理器地址栏输入\\wsl$\即可。
还可以在WSL中运行Windows程序,比如notepad.exe、explorer.exe等。反过来,也可以在Windows中运行WSL程序。
总之,WSL的一大优势就是与Windows无缝集成,两者可以互相调用,互通有无。
在存储WSL项目文件时:
\\wsl$\<DistroName>\home\<UserName>\ProjectC:\Users\<UserName>\Project 或 /mnt/c/Users/<UserName>/Project$原因是,跨操作系统访问文件,可能会显著降低性能。
安装远程开发扩展包(Remote Development),此扩展包使你能够打开容器中、远程计算机上或WSL中的任何文件夹。
从WSL发行版打开项目:code .
本文作者:a
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!