Win10 1903 之后的版本才能用这些命令。
Win +X A Powershell> wsl -l ,> Ubuntu-18.04
wsl -l Windows Subsystem for Linux Distributions: Ubuntu-18.04 (Default)
wsl -l --running Windows Subsystem for Linux Distributions: Ubuntu-18.04 (Default)
> wsl -t Ubuntu-18.04 # 或者 > wsl --terminate Ubuntu-20.04
备份子系统
一定要先停止子系统之后再备份
> wsl --export Ubuntu-20.04 D:\Ubuntu-20.04.tar
备份成功后,子系统会被打包成命令中指定的tar文件。
删除子系统后,选中的 WSL 就会从 Windows 中干净的删除了。
删除子系统> wsl --unregister Ubuntu-18.04
还原子系统
> wsl --import Ubuntu-18.04 D:\WSL D:\Ubuntu-18.04.tar
这里注意指定还原的路径。成功后,用 wsl -l 确认。
注意:还原后的子系统进入后,默认成了 root 用户:
如果在商店安装过 Ubuntu 直接找到如下目录:
C:\Users\用户名\AppData\Local\Microsoft\WindowsApps\ubuntu版本.exe config --default-user root
执行指令修改为指定用户:
ubuntu.exe config --default-user hkeasr#名称根据实际修改1
如果电脑上之前没有安装过 WSL,是通过还原来的,可以下载 Windows Terminal 工具,然后进入设置中,指定启动的命令行 -u xxx即可,但是这种方式如果换成其他连接 WSL 的工具还是默认 root 用户。
如果还是想要通过 ubuntu.exe config --default-user xxx 这种方式设置默认用户,目前最可靠的方法是下载离线的 Ubuntu WSL 安装包,安装包中就有 ubuntu2004.exe,然后通过这个ubuntu2004.exe 执行 config --default-user xxx 命令,就可以一直默认为设置的用户了,下载链接:https://docs.microsoft.com/en-us/windows/wsl/install-manual
配置 Windows Terminal
在安装好 WSL 后,最优先的就是下载 Windows Terminal 终端,这个终端的强大之处就不再赘述,但是对于使用 WSL 来说,还需要一些设置才可以更舒适的使用。
修改WSL默认打开的路径
打开 Windows Terminal 的设置页面,找到左下方的打开 JSON 文件并使用编辑器打开 setting.json,如果你安装的是 Ubuntu-18.04 ,那么就搜索 Ubuntu-18.04,然后定位到后,添加一行:"startingDirectory": "//wsl$/Ubuntu-18.04/home/",这样我们再进入 Ubuntu 时,就显示的是 ~ 目录下了。
如下:
{ "guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}", "name": "Ubuntu-18.04", "source": "Windows.Terminal.Wsl", "startingDirectory": "//wsl$/Ubuntu-18.04/home/" } 官方文档:https://docs.microsoft.com/en-us/windows/terminal/customize-settings/profile-settings
修改 Ctrl+C 和 Ctrl + V
在 Windows 下,Ctrl + C 默认是复制快捷键,Ctrl + V 默认是粘贴快捷键,但是如果装了 WSL 后,Linux 下 Ctrl + C 是向应用程序发送一个 SIGINT 中断信号,当用户按中断键(Ctrl+C)时,终端驱动程序产生此信号并发送至前台进程组中的每一个进程。这就和 Windows 默认的复制有些冲突,所以建议修改为 Ctrl + Shift + C 和 Ctrl + Shift + V,只需要在和上面相同的 setting.json 配置中:
{ "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+shift+c" }, { "command": "paste", "keys": "ctrl+shift+v" },