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


96

我已经启用了开发人员模式并进行了安装Bash on Ubuntu on Windows

我的主目录位于下%localappdata%\Lxss\home\<ubuntu.username>\,我创建了一个名为Pictures的子目录,因此完整路径应为

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

重击: /home/<ubuntu.username>/Pictures

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

为什么bash无法在自己的主目录中看到从Windows一侧创建的文件?

EDIT Using /mnt/c不是解决方案,我试图了解为什么它看不到那些文件,并且是否有补救措施,以便它能够查看UI创建的文件,而不是尝试使用终端来复制-粘贴或移动文件。


2
有趣!我的猜测-这只是一个猜测-是Linux子系统保持它自己的文件跟踪和从未看起来,看看是否有其他人加入。这样做是有道理的,因为否则将很难为虚拟文件系统提供UNIX语义,用于删除文件和区分大小写之类的事情。我怀疑您会发现,如果从Bash 创建hello.txtHELLO.TXT从Bash 创建文件,则在Windows中查看时,其中一个文件将具有不同的名称。
哈里·约翰斯顿

堆栈溢出是一个用于编程和开发问题的站点。这个问题似乎与主题无关,因为它与编程或开发无关。请在帮助中心中查看我可以询问哪些主题。也许超级用户Unix&Linux Stack Exchange是一个更好的选择。另请参阅我在哪里发布有关Dev Ops的问题?
jww

正如@HarryJohnston所假定的,名称是不同的。多头和空头。但只有在这种情况下,甚至是简短的(!)
Serhii Kheilyk

我投票关闭此问题为离题,因为它与ask-ubuntu社区有关。
OmG

2
@jpaugh我知道。但是,这个问题被证明可以问问Ubuntu的情况,而不是离题。
OmG,

Answers:


141

您应该能够在该/mnt目录下访问Windows系统。例如在bash中,使用它可以进入图片目录:

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

希望这可以帮助!


相信您误会了。我的桌面上有一个JPG,我用UI将其复制到bash子系统目录中。我试图理解为什么bash在主目录中时看不到这些图片。这是基本的cygwin行为,无需依靠linux命令即可完成拖放或复制粘贴文件的操作。
JordanGS

您可能在错误的文件夹中。
zoecarver'3

Linux子系统的设计标准与Cygwin不同。您不一定希望它们表现出相似的行为。
哈里·约翰斯顿

它为我工作,尽管ubuntu.username不是Windows的用户名。.至少对我来说不是这样;)
user2804070 18-10-18

1
为此爱你。
古巴创(Gubatron)

53

您只能从WSL内部访问Linux文件系统(位于lxss文件夹中的文件系统);不要在Windows的lxss文件夹中创建/修改任何文件-这很危险,WSL将看不到这些文件。

不过,可以在WSL和Windows之间共享文件;将文件放在lxss文件夹之外。您可以通过drvFS(/mnt)访问它们,例如/mnt/c/Users/yourusername/files在WSL中。这些文件在WSL和Windows之间保持同步。

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



1
WSL文件系统支持中,它描述了发生这种现象的原因:“翻译”文件仅在lsxx子系统(在Linux端)上完成。
克里斯·巴克

在linux VM上,我可以使用SFTP传输文件,如何正确地将文件从Window传输到linux子系统?这没有提供解决方案。
Ambroise Rabier

1
@AmbroiseRabier在WSL的最新版本中,使用SFTP,tar文件或集成的9p协议。
reker
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.