首页 > 系统 > Win10 > 正文

如何在Win10访问Linux子系统中的文件

2020-07-28 14:16:57
字体:
来源:转载
供稿:网友
  在开始使用从Win10访问Linux子系统中的文件这一功能之前,请确下面的功能或者设置都能够满足:
  Windows 10 系统须为19H1或更高版本;
  Linux子系统已经安装并启用。
  现在想Windows 10中启用Linux子系统,请先确认你的计算机所使用的处理器支持虚拟化技术,且该项功能已经开启;
  然后,我们需要在“控制面板”-“程序”-“启用或关闭Windows功能”中勾选“适用于Linux的Windows子系统”,接着重新启动Windows 10;
  最后,我们需要在微软商店(过去叫Windows商店)中下载、安装并简单设置Linux子系统。
  此时,我们若在Linux的命令行中执行下面这行命令:
  explorer.exe .
  那么Windows文件资源管理器将会访问Linux子系统中/home下的文件和文件夹。
  同样地,我们可以通过这一原理访问Linux子系统中几乎所有的文件。
  三、在PowerShell中访问文件
  有些时候,我们需要在PowerShell中访问Linux子系统里的文件,这并非是件难事。
  Linux子系统的文件目录在Windows文件资源管理器中的路径为:
  //wsl$/正在运行的Linux发行版的名称/
  例如:
  //wsl$/Ubuntu
  熟悉CMD或者PowerShell命令的同学可能已经猜到应该怎样做了。是的,用dir命令即可。
  例如,如果我们想要使用PowerShell来访问Ubuntu子系统中的文件,那么我们一共需要执行两条命令,第一条命令是:
  cd //wsl$/Ubuntu
  这条命令的作用是切换到Linux子系统根目录中的文件所在的路径;
  第二条命令是:
  dir
  这条命令是获取当前文件路径下的文件(包括文件夹)列表。
  四、已知问题
  通过文件资源管理器来访问Linux子系统中的文件是Windows 10上的一个新功能(目前处于预览阶段),它可能并不完美,以下是微软在其官方博客中提到的一些已知问题:
  1、就目前来说,只有当某一Linux子系统运行时,我们才可以从Windows文件资源管理器访问它里面的文件,据小编了解,微软将会在未来的Windows更新中提供文件资源管理器对处于非运行状态的Linux子系统中的文件的访问支持。
  2、如果你想在命令提示符(CMD)中操作Linux子系统里的文件,那么请注意,由于CMD不支持将UNC路径作为当前目录,所以类似于:
  cd //wsl$/Ubuntu/home
  这样的命令是无法执行的。
  不过,类似于下面这样的命令执行起来则没有问题:
  copy //wsl$/Ubuntu/home/threeseven/MyFile/test.txt C:/LinuxFiles/
  这行命令的作用是将Ubuntu系统/home/threeseven(用户文件夹)/MiFiles/test.txt复制到Windows系统C盘的LinuxFiles文件夹内。
  3、不要通过AppData文件夹访问你的Linux子系统中的文件,因为这很有可能会导致Linux系统中的文件损坏。
  五、导出Linux分区至Windows 10
  如果当前Windows 10中有Linux子系统正在运行,那么在将Linux分区导出至Windows 10之前,请先结束目标Linux子系统的运行。方法如下:
  首先,我们需要知道当前有哪些Linux发行版正在运行。为此,我们可以在Windows 10的命令提示符或者PowerShell中输入并运行这行命令:
  wsl.exe --list --running
  以Ubuntu为例,若要结束它的运行,那么我们需要执行的命令为:
  wsl.exe --terminate Ubuntu
  如果你嫌上面那行命令太长,那么运行这行命令也可以:
  wsl -terminate Ubuntu
  现在,我们已经结束了Linux子系统的运行。如果你忘了执行这一步也没关系,因为当我们开始把Linux分区导出至Windows 10时,Linux的运行将被强行终止。
  要将Linux分区导出至Windows 10,我们需要打开命令提示符或者Powershell,然后执行这个命令:
  wsl.exe --export Linux发行版的名称 要导出到的位置/导出的压缩文件的文件名
  例如,我们想把Linux分区导出至桌面,那么以小编的电脑为例,我们应该在命令提示符或者PowerShell里面执行的命令为:
  wsl --export Ubuntu C:/Users/ThreeSeven/Desktop/Ubuntu.tar
  在导出文件时,请耐心等待,因为导出的过程需要一些时间。
  导出完成后,我们可以在目标位置看到一个.tar格式的压缩文件,这个压缩文件里面的内容就是Linux分区中的全部文件。
  六、将导出的Linux归档文件导入到一个新的Linux子系统
  在上一小节,我们已经将Linux分区中的全部文件导出到Windows 10的桌面的一个归档文件里,现在,我们再尝试着把这些文件导入到一个新的Linux子系统当中。这一操作可以用于克隆Linux子系统。
  要执行这一导入操作,我们可以在命令提示符或者PowerShell中执行这条命令:
  wsl.exe --import 新的Linux子系统的名称 新的Linux子系统的目标位置 TAR归档文件的路径
  例如:
  wsl.exe --import Ubuntu_New C:/Ubuntu_New C:/Users/ThreeSeven/Desktop/Ubuntu.tar
  在导入文件时,请耐心等待,因为导入的过程需要一些时间。
  导入成功后,我们可以在新的Linux子系统的目标位置看到这样两个文件夹:
  要运行新的Linux子系统,我们需要在命令提示符或者PowerShell中执行以下命令:
  wsl --distribution 新的Linux子系统的名称
  例如:
  wsl --distribution Ubuntu_New
  若要删除我们通过导入Linux归档文件而得到的这个新的Linux子系统,我们可以在命令提示符或者PowerShell中执行这条命令:
  wsl.exe --unregister 目标Linux子系统的名称
  例如:
  wsl.exe --unregister Ubuntu_New
总结:
  以上就是全部内容啦!更多资讯,敬请关注错新网之家
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表