📜  windwos 中的 wsl2 文件夹 (1)

📅  最后修改于: 2023-12-03 15:05:58.005000             🧑  作者: Mango

Windows 中的 WSL2 文件夹

在 Windows 10 的更新版本中,Microsoft 引入了一个名为 WSL2 的子系统,使用类 Unix 内核来支持 Linux 应用程序。在 WSL2 中,可以创建一个 Linux 分发版本,然后可以使用命令行 Shell 与其交互。

WSL2 与其他 Linux 前端不同的是,它依赖于 Windows 文件系统来存储数据。这意味着开发者可以在 Windows 和 Linux 系统之间共享文件。它也提供了与 Windows 节点的强大集成功能,例如可以在 WSL 中运行 Windows 二进制文件。

WSL2 文件夹在 Windows 中的位置

在 WSL2 中,Linux 文件系统默认安装在 Windows 的本地文件系统的一个子文件夹中。这个文件夹是一个隐藏文件夹,其路径为:

%userprofile%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\

在上述路径中,CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc 可以视具体安装的 Linux 发行版而有所不同。在该文件夹中,可以找到包含 WSL2 Linux 文件系统中的所有文件和文件夹的根目录。

在 Windows 和 WSL2 中共享文件

在 WSL2 中,可以通过将 Windows 文件夹挂载为 Linux 文件夹,从而实现 Windows 和 Linux 文件系统之间的相互访问和共享。有几种方法可以实现这一点,例如使用 wslpath 命令或使用 Windows 路径访问 Linux 文件夹。

使用 wslpath 命令

可以使用 wslpath 命令将 Windows 文件夹路径转换为适合于 Linux 文件系统的路径。例如,要将 Windows 中的“C:\Users\username\Documents”文件夹挂载为 Linux 的“/mnt/c/Users/username/Documents”文件夹,则可以运行以下命令:

sudo mkdir /mnt/c/Users/username/Documents
sudo mount -t drvfs C: /mnt/c
使用 Windows 路径访问 Linux 文件夹

WSL2 还提供了在访问文件时直接使用 Windows 文件路径的功能,不需要使用 wslpath 命令。在 WSL2 中,Windows 的文件系统会在 \wsl$*<distro>*<path> 中被映射到 Linux 文件系统中的 /mnt/wsl/ 目录下。因此,要在 Linux 中访问 Windows 的“C:\Users\username\Documents”文件夹,可以使用以下命令:

cd /mnt/wsl/<distro>/C/Users/username/Documents

在这里,“”代表 WSL2 中安装的 Linux 发行版。如果使用 Ubuntu,则在路径中将它替换为“Ubuntu”。

总结

WSL2 子系统为开发者提供了在 Windows 和 Linux 系统之间交互的强大功能。了解 WSL2 文件夹在 Windows 中的位置及如何在 Windows 和 WSL2 中共享文件可以帮助开发者更好地利用这些功能。