WSL 是什么
WSL 全称:Windows Subsystem for Linux。 微软官方支持,为 Windows 提供一个 Linux 环境。 比虚拟机更轻量,比双系统更方便。
基于 WSL ,我们可以:
- 选择安装喜欢的的发行版。比如 Ubuntu 20.04、OpenSUSE 等。
- 执行常见的 Linux 命令,例如 grep、sed、gcc。甚至安装基于Linux 的 MySQL 等服务。
- 在类Unix命令行终端中执行 Windows 程序。
- 在 Windows 中执行 Linux 程序。
官方文档:https://docs.microsoft.com/en-us/windows/wsl/
Windows 10 安装 WSL
基于界面操作的方法
1、将 Windows 升级到最新
2、启用 适用于Linux的Windows子系统
功能
依次打开 控制面板->程序和功能->启用或关闭Windows功能。 勾选适用于Linux的Windows子系统
,确定后,重启电脑。
3、安装子系统
打开 Microsoft Store (微软应用商城),搜索 WSL ,选择需要的 Linux 发行版安装。比如安装 Ubuntu 20.04。
4、设置Linux用户名和密码
在开始菜单,搜索 Ubuntu,第一次打开后,会提示设置用户名和密码。之后打开,都会进入Linux 终端。
5、终端操作
进入终端,除了第4步的方式之外,还有一些方式,比如:
- 在 Windows 的命令提示符或者 Powershell 中执行 wsl 命令。
- 在 Windows Terminal 的终端选项中会自动出现 WSL 系统,比如 Ubuntu 20.04 。
基于命令行的方法
可参考官方文档:https://docs.microsoft.com/en-us/windows/wsl/install-win10。
WSL 配置 ubuntu 软件源
对于 ubuntu 20.04 ,按照如下步骤配置。
1、备份配置文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2、修改配置文件 将 /etc/apt/sources.list
内容修改为:
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal universe
deb http://mirrors.aliyun.com/ubuntu/ focal-updates universe
deb http://mirrors.aliyun.com/ubuntu/ focal multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal-security universe
deb http://mirrors.aliyun.com/ubuntu/ focal-security multiverse
3、更新源
sudo apt update
sudo apt upgrade
WSL 常见命令
wsl 命令可以在Windows 的命令提示符或者 PowerShell 中执行。
查看安装的 Linux 发行版
命令:wsl -l
示例:
C:\Users\letian>wsl -l
适用于 Linux 的 Windows 子系统分发版:
Ubuntu-20.04 (默认)
查看安装的 Linux 发行版以及详细信息
命令:wsl -l -v
示例:
C:\Users\letian>wsl -l -v
NAME STATE VERSION
* Ubuntu-20.04 Running 1
执行 Linux 命令处理 Windows 文件
示例:
C:\Users\letian> wsl ls -l
将会列出C:\Users\letian>
下的所有文件。
更多命令可以参考官方文档:https://docs.microsoft.com/en-us/windows/wsl/interop 。
Visual Studio Code 打开 WSL 中的文件
步骤1、Windows 10 中安装 Visual Studio Code
官网下载安装即可。
安装好后,我们可以在命令提示符中使用 code 命令打开它。
步骤2、Visual Studio Code 安装 Remote WSL 插件
该插件的作用是:
Open any folder in the Windows Subsystem for Linux (WSL) and take advantage of Visual Studio Code's full feature set.
步骤3、安装 WSL
假设安装了 Ubuntu 20.04。
步骤4、进入 WSL 终端,执行 code 命令
例如执行 code ~/.zshrc
,第一次,会下载 VS Code Server for x64
。
$ code ~/.zshrc
Installing VS Code Server for x64 (3c4e3df9e89829dce27b7b5c24508306b151f30d)
Downloading: 100%
Unpacking: 100%
Unpacked 1719 files and folders to /home/letian/.vscode-server/bin/3c4e3df9e89829dce27b7b5c24508306b151f30d.
执行完成后,Windows 的 Visual Studio Code 会启动,并展示 WSL 中 ~/.zshrc
文件的内容。
2021-09: 从近期的使用情况看,vs code 无法在命令行直接打开 WSL 系统的文件,在尝试打开一个文件时,会不停的弹窗。但可以打开一个目录。
Windows 访问 WSL 中启动的 Http 服务
在 WSL 中启动的 HTTP 服务,在 Windows 中可以正常访问。类似的,MySQL 之类的服务也能正常访问。
比如在 WSL Ubuntu 20.04 中开启一个 Python 3:使用 SimpleHttpServer 快速构建静态文件服务:
$ python3 -m http.server 2345 --bind 127.0.0.1
在 Windwos 的浏览器中打开 http://127.0.0.1:2345/
,可以正常访问。
在 Windows 中打开 WSL 系统中的文件夹/文件
打开文件浏览器,在地址栏输入\\wsl$
。按回车后,可以看到安装的 Linux 系统,点击去可以看到 Linux 系统目录和文件。