从 Ubuntu WSL 导出文件

从 Ubuntu WSL 导出文件

如何将文件从 Ubuntu WSL 导出到 Windows 或任何其他目录,以便我可以在 Windows 中使用/编辑该文件

答案1

简短的回答是,现在你还不能,但是有一些解决方案。

首先是警告:

https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/

我必须每天至少提供 2-3 次此指导,因此我将其发布在这里,以便每个人都能找到/链接到此指导。

当谈到 Windows 上的 Bash 时,有一条硬性规定:

在任何情况下都不要使用 Windows 应用程序、工具、脚本、控制台等创建和/或修改 Linux 文件。另请注意:使用某些 Windows 工具打开文件可能会读取锁定打开的文件和/或文件夹,从而阻止更新文件内容和/或元数据,从而导致文件/文件夹损坏。

从 Windows 创建/更改 Linux 文件可能会导致数据损坏和/或损坏您的 Linux 环境,需要您卸载并重新安装您的发行版!注意:您的“Linux 文件”是 %localappdata%\lxss 下的任何文件和文件夹 - 这是 Linux 文件系统(发行版和您自己的文件)存储在您的驱动器上的位置

但这意味着%localappdata%\lxss

阅读链接了解完整详情和原因的其他信息。据我所知,此问题目前被标记为“可能修复”(从“不会修复”升级)。


有以下几种选择:

第一的:

所以我该怎么做?

要使用 Windows 和 Linux 工具处理文件,请在 Windows 文件系统中存储和处理这些文件,并通过 /mnt//path 从 Windows 和 Bash 访问它们(例如 /mnt/c/dev/project/...)

这里列出了“解决方法”:

https://github.com/Microsoft/WSL/issues/1524

但如果你尝试这些,并不能保证你不会破坏任何东西。

第二,在windows中创建共享目录,并在WSL中挂载:

您也可以尝试https://github.com/Microsoft/WSL/issues/1319

在 Windows 中创建一个文件夹,命名为

%用户配置文件%\项目

在适用于 Linux 的 Windows 子系统中,执行以下操作:

ln -s /mnt/c/Users/[您的Windows用户名]/projects ~/projects

任何您想要编辑的与 Linux 相关的文件,都可以在 ~/projects 中编辑,一切都会 100% 顺利。


第三(对某些人来说可能是最好的)是使用 Linux 工具。

nano是一个易于使用的命令行编辑器

nano file_to_edit

保存/退出的组合键位于编辑器底部

以下是基本的纳米指南:https://www.howtogeek.com/howto/42980/the-beginners-guide-to-nano-the-linux-command-line-text-editor/

答案2

只需在适当的路径打开一个 bash 终端:

$ explorer.exe .

瞧!

答案3

编辑存储在 WSL(适用于 Linux 的 Windows 子系统)中的 Linux 文件的最简单方法是使用 Linux GUI 应用程序。完成适用于 Windows 10 的 Ubuntu 的初始设置后,您需要安装vcxsrvUbuntu 桌面。这将使您能够完全访问 GUI 应用程序,例如gedit并运行包含 GUI 对话框(例如zenity或 )的脚本yad

请参阅这个答案:截至 2018 年,在 WSL 上运行 GUI 应用程序的最简单方法是什么?

如果您使用 Windows 应用程序修改存储在 WSL 目录中的 Linux 文件你会破坏数据

答案4

这些文件在 Windows 中已经可用。如果您不想记住困难的路径,请打开 wsl 控制台,转到相关目录并输入explorer.exe .。这将在当前目录中打开 Windows 资源管理器。

替代方案:
当你使用命令时df,你会看到类似 $ df 的内容

Filesystem     1K-blocks      Used Available Use% Mounted on
rootfs         240047100  56379724 183667376  24% /
none           240047100  56379724 183667376  24% /dev
none           240047100  56379724 183667376  24% /run
none           240047100  56379724 183667376  24% /run/lock
none           240047100  56379724 183667376  24% /run/shm
none           240047100  56379724 183667376  24% /run/user
cgroup         240047100  56379724 183667376  24% /sys/fs/cgroup
C:\            240047100  56379724 183667376  24% /mnt/c
H:\            987142140 455640896 531501244  47% /mnt/h

在这种情况下,C:\H:\分区安装在下/mnt,您可以将文件复制到这些驱动器

mkdir -p /mnt/h/folder_I_own_in_Windows/ubuntu_files
cp * /mnt/h/folder_I_own_in_Windows/ubuntu_files

相关内容