将文件从Windows复制到Ubuntu子系统

时间:2017-03-03 18:33:34

标签: linux windows bash windows-10 windows-subsystem-for-linux

我启用了开发者模式并安装了Bash on Ubuntu on Windows

我的主目录可以在%localappdata%\Lxss\home\<ubuntu.username>\下找到,我创建了一个名为Pictures的子目录,以便完整路径

Windows上的

C:\Users\<windows.username>\AppData\Local\lxss\home\<ubuntu.username>\Pictures

on bash:/home/<ubuntu.username>/Pictures

如果我使用命令touch hello.txt从bash创建文件,我可以在Windows UI中自由查看此文件并将其复制到我的桌面。但是,如果我从Windows UI创建一个新的文本文件并将其保存在C:\Users\<windows.username>\AppData\Local\lxss\home\<ubuntu.username>\Pictures中,即使我重新启动bash或windows,当我执行ls -l时该文件也不可见。

为什么不能在它自己的主目录中看到从Windows端创建的文件?

编辑使用/mnt/c不是解决方案,我正在尝试理解为什么它没有看到这些文件以及是否有补救措施这样它就能够看到UI创建的文件,而不是试图使用终端来复制粘贴或移动文件。

2 个答案:

答案 0 :(得分:75)

您应该能够访问/mnt目录下的Windows系统。例如,在bash中,使用它来到你的图片目录:

cd /mnt/c/Users/<ubuntu.username>/Pictures

希望这有帮助!

答案 1 :(得分:41)

你应该只访问WSL里面的Linux文件系统(位于lxss文件夹中),不要创建/修改Windows中lxss文件夹中的任何文件,它是危险的,WSL不会看到这些文件。

如果您希望文件可以在WSL和Windows之间共享,请将文件放在lsxx文件夹之外。您可以通过drvFS(/mnt)访问它们,例如WSL中的/mnt/c/Users/youusername/files,并在Windows中进行修改。

详情及原因,请参阅: https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/