我的玩转WSL系列文章(更新中)
- 超详尽教程!在Windows 10内置Ubuntu子系统上搭建私有云
- (续):超详尽教程!在Windows 10内置Ubuntu子系统上搭建私有云
- 继续折腾!给Windows 10内置Ubuntu子系统安装SSH服务
- 继续探索!怎样远程使用Windows 10内置Ubuntu子系统的桌面程序
- 和迅雷说再见!手把手教你如何让Windows 10 Ubuntu子系统秒变下载服务器
- 突破16线程限制!让Ubuntu WSL下载服务器再提速!
- 还在用Linux命令行?Windows 10 Ubuntu子系统图形管理工具Webmin来了!
windows命令行工具wsl登场
可以说,微软主动拥抱Linux,推出WSL,是Windows历史上标志性意义的事情。有了WSL,学习Linux的门槛一下降低了,我们在Windows上就可以很方便地安装、备份、还原Linux子系统,而这些功能通过命令行工具wsl可以超级轻松地实现。下面来体验一下:
Windows键+R,输入cmd回车打开命令行窗口输入wsl -l
,可以看到我系统里装了一个Ubuntu 18.04:
C:\Users\Administrator>wsl -l
适用于 Linux 的 Windows 子系统:
Ubuntu-18.04-20190707 (默认)
输入wsl --version
可以看到版本信息和命令行参数一览:
C:\Users\Administrator>wsl --version
命令行选项无效: --version
版权所有 (c) Microsoft Corporation。保留所有权利。
用法: wsl.exe [参数] [选项...] [CommandLine]
用于运行 Linux 二进制文件的参数:
如果未提供任何命令行,wsl.exe 将启动默认 shell。
--exec, -e <CommandLine>
在不使用默认 Linux shell 的情况下执行指定的命令。
--
按原样传递剩余的命令行。
选项:
--distribution, -d <DistributionName>
运行指定的分发。
--user, -u <UserName>
以指定用户身份运行。
用于管理 Windows Subsystem for Linux 的参数:
--export <DistributionName> <FileName>
将分发导出到 tar 文件。
文件名可为 - 以便标准输出。
--import <DistributionName> <InstallLocation> <FileName>
将指定的 tar 文件作为新分发导入。
文件名可为 - 以便标准输入。
--list, -l [选项]
列出分发。
选项:
--all
列出所有分发,包括当前
正在安装或卸载的分发。
--running
仅列出当前正在运行的分发。
-setdefault, -s <DistributionName>
将分发设置为默认值。
--terminate, -t <DistributionName>
终止分发。
--unregister <DistributionName>
注销分发。
--upgrade <DistributionName>
将分发升级为 WslFs 文件系统格式。
--help
显示用法信息。
接下来讨论几个具体用法。
运行/停止Ubuntu子系统
wsl -l
列出了系统中安装的子系统名称,可以是一个或多个,本文中的子系统名称是Ubuntu-18.04-20190707
,接下来针对这个默认子系统进行操作:
- 运行子系统
wsl --distribution Ubuntu-18.04-20190707
或者
wsl -d Ubuntu-18.04-20190707
- 查看运行中的子系统
wsl -l --running
适用于 Linux 的 Windows 子系统:
Ubuntu-18.04-20190707 (默认)
- 停止子系统
wsl -t Ubuntu-18.04-20190707
或者
wsl --terminate Ubuntu-18.04-20190707
备份/删除/还原子系统
- 备份子系统
非常简单,但一定要先停止子系统之后再备份
wsl --export Ubuntu-18.04-20190707 c:\temp\Ubuntu-18.04-20190707.tar
等待完成即可。
备份成功后,子系统会被打包成命令中指定的tar文件。
- 删除子系统
也是一个命令即可:
wsl --unregister Ubuntu-18.04-20190707
这样WSL子系统就从Windows中删除的干干净净了。
- 还原子系统
删除了没关系,刚才做了备份,也是一个命令还原:
wsl --import Ubuntu-18.04-20190707 c:\WSL c:\temp\Ubuntu-18.04-20190707.tar
这里注意指定还原的路径。成功后,子系统又回来了,可以用wsl -l
确认一下。
就是这么简单!
如本文标题,WSL的备份还原就是这么简单,的确是简单到极致!前文说过,笔者在折腾aria2的时候曾经把系统搞崩溃过(小白没办法),就是用wsl --import
把系统还原回来重新折腾的。通过wsl --export
,我们可以把WSL导出为一个文件,放到U盘里随身带走,然后可以在任意一台电脑里还原,继续我们的工作,是不是很方便?
需要说明的是,wsl --upgrade
功能最好不要用,微软的技术支持说没什么用处还可能出问题,反正我是没敢尝试的。不过WSL2.0已结出来了,据说使用了真正的Linux内核,进化中的WSL,的确让人期待!