将文件从 Windows 复制到 Windows 子系统 Linux (WSL)
Copy Files from Windows to Windows Subsystem for Linux (WSL)
我已启用开发者模式并安装了 Bash on Ubuntu on Windows
。
我的主目录可以在 %localappdata%\Lxss\home\<ubuntu.username>\
下找到,我创建了一个名为 Pictures 的子目录,完整路径应该是
在 windows 上:C:\Users\<windows.username>\AppData\Local\lxss\home\<ubuntu.username>\Pictures
在 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
.
时不可见
为什么 bash 在它自己的主目录中看不到从 Windows 端创建的文件?
EDIT 使用 /mnt/c
不是解决方案,我试图理解 为什么 它看不到那些文件并且如果有补救措施,那么它将能够看到 UI 创建的文件,而不是尝试使用终端复制粘贴或移动文件。
您应该可以在 /mnt
目录下访问您的 windows 系统。例如在 bash 中,使用它来获取您的图片目录:
cd /mnt/c/Users/<windows.username>/Pictures
希望对您有所帮助!
您只能从 WSL 内部访问 Linux 文件系统(位于 lxss 文件夹中的文件系统); 不要 create/modify Windows 中 lxss 文件夹中的任何文件 - 这很危险,WSL 不会看到这些文件。
不过,文件可以在 WSL 和 Windows 之间共享;将文件放在 lxss 文件夹之外。您可以通过 drvFS (/mnt
) 访问它们,例如 WSL 中的 /mnt/c/Users/yourusername/files
。这些文件在 WSL 和 Windows.
之间保持同步
有关详细信息和原因,请参阅:
https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/
我已启用开发者模式并安装了 Bash on Ubuntu on Windows
。
我的主目录可以在 %localappdata%\Lxss\home\<ubuntu.username>\
下找到,我创建了一个名为 Pictures 的子目录,完整路径应该是
在 windows 上:C:\Users\<windows.username>\AppData\Local\lxss\home\<ubuntu.username>\Pictures
在 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
.
为什么 bash 在它自己的主目录中看不到从 Windows 端创建的文件?
EDIT 使用 /mnt/c
不是解决方案,我试图理解 为什么 它看不到那些文件并且如果有补救措施,那么它将能够看到 UI 创建的文件,而不是尝试使用终端复制粘贴或移动文件。
您应该可以在 /mnt
目录下访问您的 windows 系统。例如在 bash 中,使用它来获取您的图片目录:
cd /mnt/c/Users/<windows.username>/Pictures
希望对您有所帮助!
您只能从 WSL 内部访问 Linux 文件系统(位于 lxss 文件夹中的文件系统); 不要 create/modify Windows 中 lxss 文件夹中的任何文件 - 这很危险,WSL 不会看到这些文件。
不过,文件可以在 WSL 和 Windows 之间共享;将文件放在 lxss 文件夹之外。您可以通过 drvFS (/mnt
) 访问它们,例如 WSL 中的 /mnt/c/Users/yourusername/files
。这些文件在 WSL 和 Windows.
有关详细信息和原因,请参阅: https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/