windows下访问linux下的文件,【IT之家学院】如何从Win10访问Linux子系统中的文件 - IT之家...

2023-11-04

在19H1(目前处于Insider Preview阶段,预计4月份正式推送)中,微软为适用于Linux的Windows子系统带来了一项有趣的功能,这项功能允许用户从Windows 10访问Linux子系统中的文件,今天的这期教程,我们来讨论这一功能的具体用法。

一、前提条件

在开始使用这一新功能之前,请确保你的设备正在运行的Windows 10系统满足以下条件:

在开始使用上文我们所提到的这一功能之前,请确保以下条件的满足:Windows 10 系统须为19H1或更高版本;

Linux子系统已经安装并启用。

68370daef67c1e13899ba8726eb94421.png

要在Windows 10中启用Linux子系统,请先确认你的计算机所使用的处理器支持虚拟化技术,且该项功能已经开启;

然后,我们需要在“控制面板”-“程序”-“启用或关闭Windows功能”中勾选“适用于Linux的Windows子系统”,接着重新启动Windows 10;

68370daef67c1e13899ba8726eb94421.png

最后,我们需要在微软商店(过去叫Windows商店)中下载、安装并简单设置Linux子系统。

68370daef67c1e13899ba8726eb94421.png

在适用于Linux的Windows子系统刚刚推出时,我们只有一个Ubuntu发行版可选,不过现在,除了Ubuntu之外,我们还可以选择openSUSE、SUSE Linux、Debian、Kali Linux等其他发行版。

今天的这期教程适用于微软商店中所提供的所有Linux发行版。

二、在资源管理器中访问文件

现在,我们已经可通过Windows 10中的文件资源管理器来Linux子系统中的文件,就像我们平时访问和管理Windows 10里的文件一样。对于Linux子系统中的文件,我们不仅可以使用Windows 10的文件资源管理器来执行移动、复制和粘贴等操作,我们甚至可以使用Notepad++或者Visual Studio Code来编辑它们。

当我们处于Linux子系统的命令行窗口时,只需输入并执行下面这行命令,我们即可以在Windows文件资源管理器中访问和管理Linux子系统中我们当前所处的文件路径下的文件:explorer.exe .

提示:在输入和执行以上命令时,请注意,explorer.exe和.之间有个空格。

例如,当我们在正在运行的Linux子系统中执行下面这行命令:cd /home/

那么我们所处的路径将为/home/

68370daef67c1e13899ba8726eb94421.png

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

68370daef67c1e13899ba8726eb94421.png

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

68370daef67c1e13899ba8726eb94421.png

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

68370daef67c1e13899ba8726eb94421.png

三、在PowerShell中访问文件

有些时候,我们需要在PowerShell中访问Linux子系统里的文件,这并非是件难事。

Linux子系统的文件目录在Windows文件资源管理器中的路径为:\\wsl$\正在运行的Linux发行版的名称\

例如:\\wsl$\Ubuntu

熟悉CMD或者PowerShell命令的同学可能已经猜到应该怎样做了。是的,用dir命令即可。

例如,如果我们想要使用PowerShell来访问Ubuntu子系统中的文件,那么我们一共需要执行两条命令,第一条命令是:cd \\wsl$\Ubuntu

这条命令的作用是切换到Linux子系统根目录中的文件所在的路径;

68370daef67c1e13899ba8726eb94421.png

第二条命令是:dir

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

68370daef67c1e13899ba8726eb94421.png

四、已知问题

通过文件资源管理器来访问Linux子系统中的文件是Windows 10上的一个新功能(目前处于预览阶段),它可能并不完美,以下是微软在其官方博客中提到的一些已知问题:

1、就目前来说,只有当某一Linux子系统运行时,我们才可以从Windows文件资源管理器访问它里面的文件,据IT之家了解,微软将会在未来的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

68370daef67c1e13899ba8726eb94421.png

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

68370daef67c1e13899ba8726eb94421.png

如果你嫌上面那行命令太长,那么运行这行命令也可以: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

68370daef67c1e13899ba8726eb94421.png

在导出文件时,请耐心等待,因为导出的过程需要一些时间。

导出完成后,我们可以在目标位置看到一个.tar格式的压缩文件,这个压缩文件里面的内容就是Linux分区中的全部文件。

68370daef67c1e13899ba8726eb94421.png

六、将导出的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

68370daef67c1e13899ba8726eb94421.png

在导入文件时,请耐心等待,因为导入的过程需要一些时间。

导入成功后,我们可以在新的Linux子系统的目标位置看到这样两个文件夹:

68370daef67c1e13899ba8726eb94421.png

要运行新的Linux子系统,我们需要在命令提示符或者PowerShell中执行以下命令:wsl --distribution 新的Linux子系统的名称

例如:wsl --distribution Ubuntu_New

68370daef67c1e13899ba8726eb94421.png

若要删除我们通过导入Linux归档文件而得到的这个新的Linux子系统,我们可以在命令提示符或者PowerShell中执行这条命令:wsl.exe --unregister 目标Linux子系统的名称

例如:wsl.exe --unregister Ubuntu_New

68370daef67c1e13899ba8726eb94421.png

七、总结

在今天的这期教程中,我们讨论了在Windows 10的文件资源管理器和PowerShell中访问Linux文件的方法,此外,我们还了解了如何将Linux分区导出至Windows 10以及如何将Windows 10中的Linux归档文件导入到一个新的Linux子系统当中。文中所述的方法看起来非常简单,若亲自动手实践,你会发现它们做起来就和看起来一样简单。想要了解更多关于Windows的使用技巧,请继续关注IT之家学院。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

windows下访问linux下的文件,【IT之家学院】如何从Win10访问Linux子系统中的文件 - IT之家... 的相关文章

  • 用lodash解决数组中对象属性的累加及合并

    用lodash解决数组中对象属性的累加及合并 前言 案例 前言 我工作的过程中 遇到一个场景 循环调用同一个接口 然后需要对返回的结果做聚合操作 将每个对象中的属性都累加起来 对应的Value是个数字 此时 我想到了用lodash去处理 记
  • Dockerfile 构建发布镜像(dockerhub和阿里云)

    目录 构建镜像 发布镜像 dockerhub 阿里云 今天刚学完Dockerfile 现在来测试一下Dockerfile部署tomcat项目 构建镜像 Dockerfile配置信息如下 FROM centos 7 centos最新版默认是8
  • linux 查看所有字符集,linux命令之查看字符集

    lucifer abc locale a 查看本地字符集 lucifer abc locale m 查看所有支持的字符集 将文件从gb2312转为utf8 iconv f gb2312 t utf8 input txt o output t
  • Error: L6218E: Undefined symbol

    keil编译出现的错误 Error L6218E Undefined symbol app uart put referred from main o 一般几种情况 1 c中未定义 2 h中未引用 3 未包含含有该类型的 h文件 4 在ke
  • Node.js全网最详细教程(第九章:Express框架的学习)

    Express框架的学习 Express框架的学习 Express框架的学习 一 Express 框架是什么 Express 框架核心特性 二 Express框架 使用步骤 1 安装 Express 2 Express 构建基础的node
  • PostgreSQL 11 新特性解读:分区表支持创建主键、外键、索引

    PostgreSQL 10 版本虽然支持创建范围分区表和列表分区表 但创建过程依然比较繁琐 需要手工定义子表索引 主键 详见 PostgreSQL10 重量级新特性 支持分区表 PostgreSQL 11 版本得到增强 在父表上创建索引 主
  • 项目的子模块中的其中几个模块初步讲解

    子模块有点多 只挑其中几个讲解 首先就是backend web这个模块 在main创建一个resouces文件后 有些IDEA版本比较旧的 需要你们顺便把它remark成resources文件 然后在这个resources文件里面放上一个p
  • ROS学习笔记(四)---使用 VScode 启动launch文件运行多个节点

    ROS学习笔记文章目录 01 ROS学习笔记 一 Linux安装VScode 02 ROS学习笔记 二 使用 VScode 开发 ROS 的Python程序 简例 03 ROS学习笔记 三 好用的终端Terminator 一 什么是laun
  • 10年老电脑如何提速_2020年双十一笔记本电脑选购终极指南,教你如何选择购买游戏本电脑,高性价比电脑推荐(10月更新)...

    本文会在双十一期间持续更新 每天更新各大电商平台的笔记本电脑好价 如果想及时收到信息 建议点击文章最底部的 追更 仅支持手机版知乎 或者收藏本文 双十一购物狂欢节 又快到了一年一度的双十一了 按照以往的规律 双十一期间 各大笔记本厂商都会下
  • 【ANFIS 时序预测】基于 ANFIS 的时间序列预测附 MATLAB 代码

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 matlab项目合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 内容介绍 辐照度是影响光伏 PV 电站发电量最重要的气象因素 提出了一种新的基于自适应模糊推理
  • docker启动tomcat

    先检查当前镜像是否存在 docker image ls 存在后继续下一步 不存在的话拉取镜像 docker pull tomcat 镜像拉去成功后 启动容器 如果是用虚拟机的话需要端口映射 p 8080 8080才可以在浏览器访问 d后台运
  • 第三章 基于QT和DCMTK的Dicom 图像浏览器---单个Dicom图像读取类

    由于mitk net被人恶意抢注 中科院分子影像重点实验室的www mitk net 改到 www mitk net cn 目录 开始 DCMTK MD版 编译和安装 VS2015 第一章 DCMTK MD版 QT VS2015编写Dico
  • 日志收集-elk

    04 4 日志收集 1 日志收集方式 Kubernetes的业务Pod日志有两种输出方式 一种是直接打到标准输出或者标准错误 第二种是将日志写到特定目录下的文件种 针对这两种不同场景 提供了不同的容器日志收集思路 1 1 Kubernete
  • websocket校验token:使用threadlocal存放和获取当前登录用户

    都知道threadlocal可以用于线程之间的变量隔离 在登录时中它可以放入当前用户 之后再用于获取当前登录用户 下面是一个使用实例 用户实体类 jpa框架 Data EqualsAndHashCode callSuper false Ta
  • socket套接字——UDP协议

    目录 一 预备知识 1 端口号 1 网络通信的目的 2 认识端口号 3 网络通信的本质 4 端口号的作用 2 认识TCP和UDP协议 3 网络字节序 1 各处数据的大小端 2 字节序转换接口 二 socket套接字 1 socket接口 1
  • EasyPoi实现excel文件导入导出

    EasyPoi学习实践 1 简介 easypoi功能如同名字easy 主打的功能就是容易 让一个没见接触过poi的人员 就可以方便的写出Excel导出 Excel模板导出 Excel导入 Word模板导出 通过简单的注解和模板 语言 熟悉的
  • qt连接oracle

    qt连接oracle 作者 bjoern 来源 CSDN 版权声明 本文为博主原创文章 未经博主允许不得转载 声明 qt编译的位数版本和数据库oracle的版本是密切相关的 如果你的电脑是64位的 但是qt装了默认32位的 那么你的orac
  • Java性能监控和故障诊断可视化工具之jmc

    前面的文章中我们介绍了jvisualvm 本篇文章我们来介绍下目前为止功能最为强大的可视化工具jmc jmc Java Mission Control 是jdk1 7开始引入的JVM监控工具 jmc可视化监控工具主要包含两大块内容 1 JM
  • 以transformAssociateToMap函数为例,分析LeGO-LOAM的坐标系统

    文章目录 LeGO LOAM采用的坐标轴体系 transformAssociateToMap函数剖析 公式推导 LeGO LOAM坐标变换解析 LeGO LOAM采用的坐标轴体系 LeGO LOAM的旋转顺序是固定轴ZXY而LeGO LOA

随机推荐

  • python文字转语音

    你觉得将文字转成语音需要写多少行代码才能完成 我用了7行 你呢 coding utf 8 import sys reload sys sys setdefaultencoding utf 8 import pyttsx engine pyt
  • STM32 SPI对存储芯片发送写是能命令后一直忙等待

    我采用CUBE配置的SPI外设 对NSS引脚选择了硬件输出 这种方式对读取命令没有影响 但是对写命令有 当我发送写是能命令后 读取状态寄存器的值一直都是忙 我猜测这可能是硬件控制NSS引脚后 对于HAL SPI Transmit等命令 内部
  • Github+Typora - - 我理想中的markdown云笔记神器

    这篇文章记录我如何解决市面上markdown笔记软件的弊端 扬长避短 为喜爱markdown软件的朋友出一份力 首先 我们先看下这篇文章 介绍了我们当下markdown软件多多少少有些不完美的状况 让我们虽然不喜欢 但也只可 欲罢不能 的尴
  • 使用python在wordpress博客网站添加新文章示例

    Wodrepress是最近很火的一个博客平台 利用它可以快速搭建各种网站 下面我是利用xmlrpc编程接口在wordpress添加文章的示例代码 import datetime xmlrpclib wp url http www examp
  • Camera和Image sensor技术基础笔记(5) -- HDR相关技术

    动态范围 Dynamic Range 动态范围最早是信号系统的概念 一种信号系统的动态范围定义为 最大的信号不失真的电平和噪声电平的差 在实际场景中 多用分贝 dB 为单位来衡量一个信号系统的动态范围 以上说法可能有些抽象 来看两个例子 1
  • ggplot2读书笔记2:ggplot()的基本用法以及如何绘制几何对象

    Getting Started with ggplot2 ggplot 基本用法 由ggplot2所制得图形有三个重要的组成部分 1 数据 2 数据和视觉变量属性之间的映射 aesthetic mappings 3 呈现数据结果的图层 一般
  • JS中的prototype

    JS中的phototype是JS中比较难理解的一个部分 本文基于下面几个知识点 1 原型法设计模式 在 Net中可以使用clone 来实现原型法 原型法的主要思想是 现在有1个类A 我想要创建一个类B 这个类是以A为原型的 并且能进行扩展
  • 绝地救生error_30种面向前端开发人员的救生工具

    绝地救生error As the functionalities of web apps keep getting ever more sophisticated and complex web developers need flexib
  • 【2】数据湖架构中 Iceberg 的核心特性

    在业界的数据湖方案中有 Hudi Iceberg 和 Delta 三个关键组件可供选择 一 Iceberg 是什么 Iceberg 官网中是这样定义的 Apache Iceberg is an open table format for h
  • JS封装计算1~100之间所有整数的总和与平均值

    function getSum var sum 0 for i 0 i lt 100 i sum i console log 1 100所有数和为 sum console log 1 100所有数和的平均值为 sum 100 getSum
  • Intellij idea 导入 jdbc

    第一步 去官网https dev mysql com downloads connector j 下载驱动程序 第二步 解压压缩包 记住路径 第三步 打开你的idea工程 打开Project Structure Modules gt gt
  • RabbitMQ - 死信、TTL原理、延迟队列安装和配置

    目录 一 死信交换机 1 1 什么是死信交换机 1 2 TTL 1 2 1 什么是 TTL 1 2 2 通过 TTL 模拟触发死信 二 延迟队列 2 1 什么是延迟队列 2 2 配置延迟队列插件 2 2 1 延迟队列配置 a 下载镜像 b
  • pyhive报错Could not start SASL: b‘Error in sasl_client_start (-4) SASL(-4)

    python3连接hive 1 安装对应依赖 2 连接hive 3 常见报错 1 安装对应依赖 pip install sasl pip install thrift pip install thrift sasl pip install
  • 快速上手Cruisecontrol

    1 Cruisecontrol的概述 CruiseControl是一种持续集成过程的框架 包括了邮件通知 ant和各种源码控制工具的插件 并提供web接口 用于查看当前和以前的build的结果 2 Cruisecontrol的安装 2 1
  • windows下免费本地部署类ChatGpt的国产ChatGLM-6B

    ChatGLM 6B 是一个开源的 支持中英双语的对话语言模型 基于 General Language Model GLM 架构 具有 62 亿参数 结合模型量化技术 用户可以在消费级的显卡上进行本地部署 INT4 量化级别下最低只需 6G
  • 万字长文,SpringSecurity

    思维导图如下 RBAC权限分析 RBAC 全称为基于角色的权限控制 本段将会从什么是RBAC 模型分类 什么是权限 用户组的使用 实例分析等几个方面阐述RBAC 思维导图 绘制思维导图如下 什么是RBAC RBAC 全称为用户角色权限控制
  • javascript算法之数组反转浅谈

    本文主要介绍了javascript算法之数组反转 文章围绕主题展开详细的内容介绍 具有一定的参考价值 需要的小伙伴可以参考一下 1 数组反转 1 1 leecode题目 旋转数组 给你一个数组 将数组中的元素向右轮转 k 个位置 其中 k
  • Servlet是不是线程安全的?

    首先在servlet中的方法 三个重要方法 1 init 进行资源的加载 2 service 处理请求 根据请求方式 调用doGet或者doPost 3 destroy 进行资源的释放 servlet是单实例的 假如在处理请求时候 多线程访
  • AcWing 104. 货仓选址

    题目 在一条数轴上有 N 家商店 它们的坐标分别为 A1 AN 现在需要在数轴上建立一家货仓 每天清晨 从货仓到每家商店都要运送一车商品 为了提高效率 求把货仓建在何处 可以使得货仓到每家商店的距离之和最小 输入格式 第一行输入整数N 第二
  • windows下访问linux下的文件,【IT之家学院】如何从Win10访问Linux子系统中的文件 - IT之家...

    在19H1 目前处于Insider Preview阶段 预计4月份正式推送 中 微软为适用于Linux的Windows子系统带来了一项有趣的功能 这项功能允许用户从Windows 10访问Linux子系统中的文件 今天的这期教程 我们来讨论