起因
今天看了下系统的应用,才发现Windows Subsystem Linux 竟然占了我C盘10G的空间,然后又看到用户目录下npm、Go等各种依赖的占用,决定对C盘进行优化。
教程
WSL迁移
查看版本及运行信息
wsl -l -v
如果STATE状态中显示不是Stoped话则通过以下命令停止WSL服务
wsl --shutdown
将需要迁移的Linux导出
wsl --export [name] [export path]
- [name] Linux发行版的名称,如Ubuntu-20.04
- [export path] 要导出文件的路径,要加上文件名,如D:\Linux
因为我的版本是ubuntu-20.04,导出到F:\WSL\ubuntu20.tar,所以命令为
wsl --export Ubuntu-20.04 F:\WSL\ubuntu20.tar
导出完成之后将原来的分发删除
wsl --unregister Ubuntu-20.04
记得将Ubuntu-20.04改为自己的,如果和我是一个版本无需修改
导入WSL
wsl --import [name] [import path dir] [import for file path] [other options]
- [name] 要导入的名称,导出时什么导入也是什么。
- [import path dir] 要到入到哪个文件夹,目录.不加文件名。
- [import for file path] 要导入文件,也就是导出的文件的路径。
- [other options] 其他的一些参数,可加也可不加,如加版本号
--version 2
我使用的命令
wsl --import Ubuntu-20.04 F:\WSL\Ubuntu-20.04 F:\WSL\ubuntu20.tar
在运行wsl时,找不到可通过重启来解决
导入完之后,可能进系统的用户是root,可使用以下命令更改默认用户
更改默认用户
ubuntu2004 config --default-user youname
一般改为安装时设置的用户,如果你使用的不是2004需把Ubuntu2004改为你对应的版本,也可以通过路径来查看
C:\Users\[你电脑的用户名]\AppData\Local\Microsoft\WindowsApps
WSL迁移结束。
MkLink命令
在终端输入mklink
即可显示帮助信息
MKLINK [[/D] | [/H] | [/J]] Link Target
- /D 创建目录符号链接。默认为文件符号链接。
- /H 创建硬链接而非符号链接。
- /J 创建目录联接。
- Link 指定新的符号链接名称。
- Target 指定新链接引用的路径(相对或绝对)。
使用方法
mklink 参数 要链接到的链接文件或路径 要链接的源文件或者目录
目录联接效果
本文作者为Mr.Bai,转载请注明。