linux子系统访问windows文件,Windows Linux子系统-在Ubuntu外部访问文件

例如,为什么在Windows中创建文件时,在Windows 10(bash.exe)的Linux子系统下看不到文件?

屏幕截图应说明。

文件夹:OMG是从Windows资源管理器中创建的。文件夹OMGBash是使用Linux子系统bash.exe创建的

在bash.exe之外创建文件夹或文件时,无论权限和所有权如何,我都看不到它。

为了显示我必须使用Cygwin来显示文件权限的信息,我还更改了权限以查看是否会出现该文件夹。(底部的两个命令窗口)

屏幕截图显示了文件夹,bash.exe和Cygwin权限:

tvZdj.jpg

我试图将所有Cygwin脚本移至Linux子系统,

但我不想重新创建每个文件,然后不得不使用bash复制并过去,然后重新格式化然后使用Dos2unix(非常麻烦)。

在GitHub上的Linux子系统中找到了这个:

根据其他问题的讨论,不支持从Windows直接复制到Linux子系统。AppData下有一个目录(我忘了在哪里),该目录似乎包含WSL文件系统的文件。但是,如果在其中放置新文件或在其中修改现有文件,则所做的更改将无法正确反映在WSL中。

我最好的猜测是,Linux需要与Windows存储有关其文件的不同元数据(以及更多的缓存信息等,因为其磁盘缓冲模型也有所不同),并且当前是通过存储结构的主副本来实现的Linux文件系统在某种数据库中的使用,只是将Windows文件系统用作该数据库的便捷BLOB存储。

如果您确实需要执行此操作,则一种变通方法是编写拖放式.bat脚本或执行bash.exe -c“ mv%1 / home / $ USER /”的脚本。(可能必须对sed和tr做一些巧妙的工作,才能将%1转换为有效的WSL路径。)

或者,您可以将文件放在Windows目录中,然后在WSL中执行“ cd〜; ln -s / mnt / c / path / to / my / files”以使它们看起来像在WSL主目录中吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值