返回

从 WSL2 访问 Windows 目录的 4 种方法

Linux

访问 Windows 目录从 WSL2 出发

在 WSL2(Windows Subsystem for Linux 版本 2)中访问 Windows 文件系统是一个常见的需求。 虽然 WSL2 提供了与 Windows 文件系统交互的功能,但路径的表示方式与原生 Linux 环境有所不同。 本文将介绍几种访问特定 Windows 目录的方法,并提供详细的操作步骤和代码示例。

方法一:使用 WSL 路径

WSL2 将 Windows 的各个驱动器挂载在 /mnt 目录下。 因此,访问 Windows 的 C 盘只需要进入 /mnt/c 目录。其他盘符依此类推。

操作步骤:

  1. 打开 WSL2 终端。
  2. 使用 cd 命令进入目标目录。例如,要访问 C:\\Users\\Lenovo\\Desktop\\Sorokoony,可以使用以下命令:
cd /mnt/c/Users/Lenovo/Desktop/Sorokoony

代码示例:

# 查看当前目录
pwd

# 进入目标目录
cd /mnt/c/Users/Lenovo/Desktop/Sorokoony

# 再次查看当前目录,确认已进入目标目录
pwd

# 列出目录内容
ls -l

安全建议:

在使用 cd 命令跳转目录时,请仔细检查路径,避免误操作。可以使用 Tab 键进行自动补全,以减少输入错误。

方法二:使用 wslpath 命令

wslpath 命令可以将 Windows 路径转换为 WSL 路径。 这种方法更适用于脚本编写或需要动态生成路径的场景。

操作步骤:

  1. 打开 WSL2 终端。
  2. 使用 wslpath 命令转换 Windows 路径,然后使用 cd 命令进入转换后的路径。例如:
cd $(wslpath -a "C:\\Users\\Lenovo\\Desktop\\Sorokoony")

代码示例:

# 转换 Windows 路径
wsl_path=$(wslpath -a "C:\\Users\\Lenovo\\Desktop\\Sorokoony")

# 进入转换后的路径
cd "$wsl_path"

# 列出目录内容
ls -l

解释:

  • -a 选项表示将 Windows 路径转换为绝对路径。
  • $(...) 语法用于执行命令并将结果作为字符串返回。
  • 使用双引号将变量 $wsl_path 包括起来,可以防止路径中包含空格等特殊字符导致的错误。

安全建议:

对用户提供的 Windows 路径进行校验,以避免潜在的安全风险。 例如,可以使用正则表达式或其他验证方法确保路径的有效性和安全性。

方法三:使用 Windows 资源管理器

直接在 Windows 资源管理器中打开 WSL 目录也是一种便捷的访问方式。

操作步骤:

  1. 打开 Windows 资源管理器。
  2. 在地址栏中输入 \\wsl$ 并按下 Enter 键。
  3. 找到对应的 WSL 发行版,然后进入目标目录。

这种方式可以直接在 Windows 环境下浏览和操作 WSL 文件系统,尤其方便图形化操作。

方法四:在 Windows 应用中打开 WSL 路径

部分 Windows 应用(例如 VSCode)可以直接打开 WSL 路径。

操作步骤:

  1. 在应用中选择 "打开文件夹" 或类似选项。
  2. 输入 WSL 路径,例如 /mnt/c/Users/Lenovo/Desktop/Sorokoony

这种方法能够更方便地集成 WSL 环境与 Windows 开发工具,提高开发效率。

通过以上几种方法,可以方便地从 WSL2 中访问 Windows 目录。 选择哪种方法取决于具体的需求和使用场景。 建议根据自身情况选择最适合的方法。