高效实现Win10与Ubuntu 18.04 LTS子系统文件共享的3种方法

1. 为什么我们需要文件共享?

如果你和我一样,在Windows 10上安装了Ubuntu 18.04 LTS子系统(WSL),那你肯定遇到过这个头疼的问题:我在Windows桌面上下载了一个代码包,怎么在Ubuntu里用?或者在Ubuntu里编译好的程序,怎么快速拿到Windows里测试?两个系统明明在同一台电脑里,感觉却像隔着一堵墙。

我刚用WSL那会儿,也在这上面折腾了好久。最开始的笨办法是,用U盘拷来拷去,或者发邮件给自己,效率低得让人抓狂。后来我发现,其实Windows和WSL之间的“墙”是有门的,而且不止一扇。找到正确的方法,文件互传可以变得像在同一个文件夹里拖拽一样简单。

这篇文章,我就把我这几年用WSL 18.04 LTS总结出来的、最高效的3种文件共享方法分享给你。它们各有各的适用场景:有的最简单无脑,适合临时传个小文件;有的最稳定高效,适合日常开发工作流;还有的命令行高手最爱,能玩出各种自动化花样。不管你是刚接触WSL的小白,还是想优化工作流的老手,相信都能找到适合你的那一款。咱们不扯那些复杂的底层原理,就聊怎么实实在在地把文件传过去、用起来。

2. 方法一:直接文件系统路径访问(最直观)

这是最直白、最不需要额外学习成本的方法,说白了就是“找对门牌号”。Windows和WSL的Ubuntu子系统,它们的文件系统其实是互相暴露的,有固定的访问路径。只要你记住这几个路径,就像知道了朋友家的地址,随时可以串门。

2.1 从Windows访问Ubuntu的文件

Ubuntu子系统的所有文件,其实都存放在Windows硬盘上的一个特殊文件夹里。这个文件夹路径比较长,但结构是固定的。

找到你的Ubuntu根目录: 通常,路径模板是这样的: C:\Users\[你的Windows用户名]\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_[随机字符串]\LocalState\rootfs

别被这一长串吓到,我教你个简单办法。打开Windows的文件资源管理器,在地址栏直接粘贴下面这个路径,然后把 [你的Windows用户名] 替换成你自己的用户名(比如我的叫 zhangsan)。

C:\Users\[你的Windows用户名]\AppData\Local\Packages\

回车进去后,你会看到一个名字以 CanonicalGroupLimited.Ubuntu18.04onWindows_ 开头的文件夹(后面那串随机字符每台电脑可能不一样)。点进去,依次进入 LocalState\rootfs,恭喜你,这就是Ubuntu子系统的根目录“/”了!

在这里,你会看到熟悉的 home, etc, usr 等Linux目录。你的用户文件通常在 rootfs\home\[你的Ubuntu用户名] 下面。现在,你可以像操作普通Windows文件夹一样,在这里复制、粘贴、删除文件。比如,把Windows桌面的一个 script.py 文件,直接拖拽到 home\zhangsan 文件夹里,就等于放进了Ubuntu的家目录。

注意:AppData 是隐藏文件夹。如果你在Users目录下没看到它,需要在文件资源管理器的“查看”选项卡里,勾选“隐藏的项目”。

2.2 从Ubuntu访问Windows的文件

反过来,在Ubuntu的命令行里访问Windows的磁盘,更是简单得惊人。WSL自动将Windows的所有磁盘挂载到了Ubuntu的 /mnt/ 目录下。

打开你的Ubuntu 18.04 LTS终端,输入以下命令:

ls /mnt/

你应该会看到 c, d, e 这样的字母目录。它们就对应着你的Windows C盘、D盘、E盘。比如,你想进入Windows的C盘用户目录下的“下载”文件夹,可以这样操作:

cd /mnt/c/Users/[你的Windows用户名]/Downloads

然后你就可以用 ls 查看文件,用 cp 命令复制了。例如,把Windows下载的一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值