此时,我们若在pnux的命令行中执行下面这行命令:explorer.exe .

那么Windows文件资源管理器将会访问pnux子系统中/home下的文件和文件夹。

同样地,我们可以通过这一原理访问pnux子系统中几乎所有的文件。

三、在PowerShell中访问文件
有些时候,我们需要在PowerShell中访问pnux子系统里的文件,这并非是件难事。
pnux子系统的文件目录在Windows文件资源管理器中的路径为:
wsl$正在运行的pnux发行版的名称
例如:
wsl$Ubuntu
熟悉CMD或者PowerShell命令的同学可能已经猜到应该怎样做了。是的,用dir命令即可。
例如,如果我们想要使用PowerShell来访问Ubuntu子系统中的文件,那么我们一共需要执行两条命令,第一条命令是:
cd wsl$Ubuntu
这条命令的作用是切换到pnux子系统根目录中的文件所在的路径;

第二条命令是:dir
这条命令是获取当前文件路径下的文件(包括文件夹)列表。

四、已知问题
通过文件资源管理器来访问pnux子系统中的文件是Windows 10上的一个新功能(目前处于预览阶段),它可能并不完美,以下是微软在其官方博客中提到的一些已知问题:
1、就目前来说,只有当某一pnux子系统运行时,我们才可以从Windows文件资源管理器访问它里面的文件,据IT之家了解,微软将会在未来的Windows更新中提供文件资源管理器对处于非运行状态的pnux子系统中的文件的访问支持。
2、如果你想在命令提示符(CMD)中操作pnux子系统里的文件,那么请注意,由于CMD不支持将UNC路径作为当前目录,所以类似于:
cd wsl$Ubuntuhome
这样的命令是无法执行的。
不过,类似于下面这样的命令执行起来则没有问题:
copy wsl$UbuntuhomethreesevenMyFiletest.txt C:pnuxFiles
这行命令的作用是将Ubuntu系统/home/threeseven(用户文件夹)/MiFiles/test.txt复制到Windows系统C盘的pnuxFiles文件夹内。
3、不要通过AppData文件夹访问你的pnux子系统中的文件,因为这很有可能会导致pnux系统中的文件损坏。
五、导出pnux分区至Windows 10
如果当前Windows 10中有pnux子系统正在运行,那么在将pnux分区导出至Windows 10之前,请先结束目标pnux子系统的运行。方法如下:
首先,我们需要知道当前有哪些pnux发行版正在运行。为此,我们可以在Windows 10的命令提示符或者PowerShell中输入并运行这行命令:
wsl.exe --pst --running

以Ubuntu为例,若要结束它的运行,那么我们需要执行的命令为:wsl.exe --terminate Ubuntu

如果你嫌上面那行命令太长,那么运行这行命令也可以:wsl -terminate Ubuntu
现在,我们已经结束了pnux子系统的运行。如果你忘了执行这一步也没关系,因为当我们开始把pnux分区导出至Windows 10时,pnux的运行将被强行终止。
要将pnux分区导出至Windows 10,我们需要打开命令提示符或者Powershell,然后执行这个命令:
wsl.exe --export pnux发行版的名称 要导出到的位置导出的压缩文件的文件名
例如,我们想把pnux分区导出至桌面,那么以小编的电脑为例,我们应该在命令提示符或者PowerShell里面执行的命令为:
wsl --export Ubuntu C:UsersThreeSevenDesktopUbuntu.tar

在导出文件时,请耐心等待,因为导出的过程需要一些时间。导出完成后,我们可以在目标位置看到一个.tar格式的压缩文件,这个压缩文件里面的内容就是pnux分区中的全部文件。

相关文章
网友评论(共有 0 条评论)