小编Dav*_*ton的帖子

Windows Linux 子系统 - 在 Ubuntu 之外访问文件

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

屏幕截图应该解释。

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

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

为了显示我必须使用 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 做一些巧妙的工作,才能将 …

bash windows-10 windows-subsystem-for-linux

132
推荐指数
3
解决办法
18万
查看次数