互相访问
掌握 Windows 访问 WSL 文件的两种方式
掌握 WSL 访问 Windows 文件的方法
理解跨系统文件的权限与性能差异
核心讲解
WSL2 和 Windows 深度集成,两个系统的文件可以互相直接访问,这是 WSL 相比传统虚拟机最大的优势之一。
Windows 文件浏览器查看 WSL 虚拟机里的文件
核心讲解
Windows 的资源管理器可以直接打开 WSL 里的所有文件,就像访问本地磁盘一样。
两种访问方式
地址栏输入路径 资源管理器地址栏输入
\\wsl$回车,就能看到所有已安装的发行版文件夹,点进去就是 Linux 系统的根目录。 也可以直接输入\\wsl$\Ubuntu-22.04直接进入对应发行版。命令快速打开 在 WSL 终端里,执行
explorer.exe .(注意后面有个点),会直接用 Windows 资源管理器打开当前 Linux 目录。 适合在 Linux 里操作文件时,快速用 Windows 工具打开。
操作说明
可以直接复制、粘贴、删除、编辑 WSL 里的文件
可以用 Windows 的软件(VSCode、记事本、画图)直接打开 Linux 里的文件
文件修改是实时同步的
WSL 虚拟机里面访问 Windows 的文件
核心讲解
WSL 里会自动挂载 Windows 的所有磁盘,可以直接访问 Windows 里的所有文件。
挂载规则
Windows 的 C 盘挂载在
/mnt/c/D 盘挂载在
/mnt/d/以此类推,所有分区都会自动挂载
路径写法
Windows 路径 C:\Users\test\Desktop\file.txt 对应 WSL 路径 /mnt/c/Users/test/Desktop/file.txt
注意:路径全部小写,反斜杠变正斜杠,盘符在 mnt 目录下。
操作说明
可以直接 ls、cd、cat、编辑 Windows 里的文件
可以把 Windows 的文件直接复制到 Linux 系统
支持所有 Linux 命令操作 Windows 文件
操作示例
# ===== WSL里访问Windows文件 =====
# 1. 查看挂载的Windows磁盘
ls /mnt/
# 输出 c d e 等,就是Windows的分区
# 2. 进入C盘用户目录
cd /mnt/c/Users/
ls
# 3. 查看Windows桌面文件
cd /mnt/c/Users/你的用户名/Desktop
ls
# 4. 复制Windows文件到Linux
cp /mnt/c/Users/xxx/Desktop/test.py ~/
# ===== Windows里访问WSL文件 =====
# WSL终端执行,用资源管理器打开当前目录
explorer.exe .
# 或者资源管理器地址栏输入
# \\wsl$
# \\wsl$\Ubuntu-22.04\home\用户名
常见误区
路径大小写错误:/mnt/c 是小写 c,大写 C 找不到
跨系统文件性能差:在 WSL 里操作 Windows 的文件(/mnt 下),性能会比 Linux 原生文件系统慢很多,开发项目建议放在 Linux 文件系统里
权限问题:Windows 文件在 WSL 里权限默认是 777,Linux 文件放到 Windows 里权限会丢失
直接拖拽文件:不要从 Windows 拖拽文件到 WSL 终端,容易出问题,用复制粘贴或 cp 命令
课后练习
在 WSL 里访问 Windows 桌面,列出所有文件
用 Windows 资源管理器打开 WSL 的家目录
把 Windows 里的一个文件复制到 WSL 家目录,验证成功

