多语言展示
当前在线:1574今日阅读:59今日分享:29

在Windows下如何查看和操作WSL内的文件

本经验介绍在在Windows下中,如何查看和操作WSL内的文件。查看和操作WSL内文件有两种方式,但是推荐的做法是使用网络路径形式(在WSL下使用explorer.exe进入)
工具/原料

windows 10 1903

方法/步骤
1

首先,第一种做法是找到WSL的文件存放位置。这个位置在如图的路径(AppData/Local/Packages/xxxx下面。但是这样访问文件是有问题的,稍后会说明。

2

打开文件夹下的LocalState,则可以看到rootfs,这里面就是ubuntu的根目录了。但是要注意,不要从文件查看器修改里边的文件。

3

这个rootfs文件夹内非常特殊,和文件系统其他地方是有去别的。第一个是linux的软连接支持,如图所示,如果我们在windows下打开,就是一个字符串。

4

由此引出打开WSL下文件的第二种方式,就是进入WSL内的目录后,输入explorer.exe . 打开当前文件夹。可以看到这样打开是通过网络的方式。

5

以网络方式查看WSL内部文件时,是无法打开软连接的。

6

在微软的一个文档中,提及了WSL的文件系统设计,其根目录下使用VolFs有很多的特殊处理。

7

比如文件命名的问题,linux支持冒号而windows不支持,我们可以看到两种方式查看同一个文件,文件名不同。

8

关于linux软连接的问题,在文档中也提到了WSL中的软连接是字符串+特殊信息实现,不是Windows的软连接。

9

关于互操作性,文档中也专门指出不要从windows文件系统一侧操作文件,因为缺少VolFs所需要的额外信息。

总结

1、首先,第一种做法是找到WSL的文件存放位置。这个位置在如图的路径(AppData/Local/Packages/xxxx下面。但是这样访问文件是有问题的,稍后会说明。 2、打开文件夹下的LocalState,则可以看到rootfs,这里面就是ubuntu的根目录了。但是要注意,不要从文件查看器修改里边的文件。 3、这个rootfs文件夹内非常特殊,和文件系统其他地方是有去别的。第一个是linux的软连接支持,如图所示,如果我们在windows下打开,就是一个字符串。 4、由此引出打开WSL下文件的第二种方式,就是进入WSL内的目录后,输入explorer.exe . 打开当前文件夹。可以看到这样打开是通过网络的方式。 5、以网络方式查看WSL内部文件时,是无法打开软连接的。 6、在微软的一个文档中,提及了WSL的文件系统设计,其根目录下使用VolFs有很多的特殊处理。 7、比如文件命名的问题,linux支持冒号而windows不支持,我们可以看到两种方式查看同一个文件,文件名不同。 8、关于linux软连接的问题,在文档中也提到了WSL中的软连接是字符串+特殊信息实现,不是Windows的软连接。 9、关于互操作性,文档中也专门指出不要从windows文件系统一侧操作文件,因为缺少VolFs所需要的额外信息。

注意事项

如果遇到问题,可以在下面提出疑问。

推荐信息