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主目录中吗?

斯科特732

我不确定是否误解了您的问题,但是您的ubuntu bash(右上角的窗口)应该可以在下访问基于Windows的磁盘/mnt例如,在我的计算机上/mnt/c/Users/Scott/Desktop是Windows桌面,并且可以从vi for ex那里读取/写入文件。我不相信相反的说法是正确的。也就是说,我认为您无法从Windows资源管理器探索bash世界。

作为开发人员,我一直在d上托管项目:并将基于linux的工具指向该/mnt/d/projects/someproject/文件夹。

确保您定期更新Windows版本,因为它们似乎在解决每个版本的很多问题,尤其是围绕符号链接和跨越Linux / Windows之间的FS边界的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Ubuntu中显示matplotlib图(Linux的Windows子系统)

在Windows(Linux子系统)的Ubuntu上的Bash上设置$ PATH的问题

Linux子系统:使用Windows文件路径更改目录

apt-get命令在Linux上的Ubuntu-Windows / Windows子系统上不起作用

PHP7.0-fpm在Ubuntu Windows子系统Linux上极慢

在Linux的Windows子系统上的Ubuntu上运行Docker

Windows开发环境可以访问使用Windows 10中的Linux子系统构建的库吗?

Git子模块-无法使用Windows的Linux子系统访问存储库

我打破了Windows Linux子系统(Windows 10上Ubuntu上的Bash)。Linux帮助?

Internet访问在Linux的Windows子系统中不起作用

Windows 10中Linux子系统的文件系统在哪里?

如何从Windows访问Linux子系统的本地主机

将Windows(Ubuntu)上的Linux子系统更新为16.04

在Linux的Windows子系统上的Ubuntu上运行32位应用程序

如何从Windows访问Windows Linux子系统文件系统?

无法访问Windows 10 Linux子系统bash中的外部驱动器

如何访问Windows Linux子系统上已安装的网络驱动器?

如何使Windows上的Linux / Bash子系统可访问驱动器?

无法将Windows 10(WSL)的Linux子系统升级到Ubuntu 16.04

如何使用Windows Linux子系统访问UNC路径?

在Ubuntu WSL中使用VIM打开URL(Linux的Windows子系统)

为什么我无法访问Windows的Linux子系统中的Windows用户文件夹

如何从Linux的Windows子系统内部访问Windows桌面目录?

将文件从Linux(Ubuntu)的Windows子系统上的SSH服务器传输到Windows

如何从Windows子系统(适用于Linux)SSH进入Azure Ubuntu 16x

在Windows Linux子系统中复制/粘贴热键Ubuntu终端不起作用?

“ set -eo pipefail”在Linux的Windows子系统中不起作用(Ubuntu 16.04)

如何从 Explorer.exe 访问适用于 Linux 的 Windows 子系统文件?

windows 子系统 Linux 在终端中找不到文件