5
Windows Linux子系统-在Ubuntu外部访问文件
例如,为什么在Windows中创建文件时,在Windows 10(bash.exe)的Linux子系统下看不到文件? 屏幕截图应说明。 文件夹:OMG是从Windows资源管理器中创建的。文件夹OMGBash是使用Linux子系统bash.exe创建的 在bash.exe之外创建文件夹或文件时,无论权限和所有权如何,我都看不到它。 为了显示我必须使用Cygwin来显示文件权限的信息,我还更改了权限以查看是否会出现该文件夹。(底部的两个命令窗口) 屏幕截图显示了文件夹,bash.exe和Cygwin权限: 我试图将所有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主目录中吗?