【问题标题】:How to share files between Windows 10 and Ubuntu Linux subsystem?如何在 Windows 10 和 Ubuntu Linux 子系统之间共享文件?
【发布时间】:2021-08-13 19:41:39
【问题描述】:

我是适用于 Linux 的 Windows 子系统 (WSL) 的新手

如何在 Windows 10 和 Ubuntu Linux 子系统之间高效共享文件?

我关注这个tutorial youtube clip,并在以下路径中找到在 WSL 中创建的文件。 C:UsersuserAppDataLocalPackagesCanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgscLocalStaterootfshomehsuchichendesktop

我可以将 c 代码从 WSL 移动到 win10。 但是,当我将 c 代码从 win10 移动到 WSL 并使用 GCC 编译时。 它失败并收到此错误消息。 我不知道如何解决它。这是共享文件的好方法吗?

$ gcc -o Tree Tree.c
cc1: fatal error: Tree.c: Permission denied
compilation terminated.

【问题讨论】:

  • 尝试以管理员身份运行 Visual Studio
  • 它不起作用。

标签: linux gcc compiler-errors windows-subsystem-for-linux permission-denied


【解决方案1】:

这是共享文件的好方法吗?

肯定不是。

抱歉,我很抱歉,但我建议您对 YouTube 视频投反对票(我刚刚投了票)。在微软说it's dangerous to do that之后,它应该在几年前下线。

在同一个 Microsoft 开发博客中有一个关于从 Windows 访问 WSL/Linux 文件的正确方法的答案——使用\\wsl$\distroname(例如\\wsl$\Ubuntu)。

但是,对于您使用 Visual Studio Code 的用例,还有一种更好的方法。在 VSCode 中安装微软的“Remote - WSL”扩展(或“Remote Development”扩展,其中包括“Remote - WSL”)。

然后,将您的文件放入 WSL 中的某个位置,例如 ~/src/myproject。当您需要使用 GCC 访问这些文件时,没问题 - 这是一个访问 Linux 文件系统上文件的 Linux 工具。当您需要在 VSCode 中编辑文件时,只需切换到 WSL 中的那个目录和code .。这将在该 WSL 目录中启动 VSCode,并具有其他集成功能。

【讨论】:

  • 也许只是提到(在博客中解释)要访问 Windows 上的 根目录,只需在资源管理器路径栏中键入 \\wsl$\<distro>。同样访问 C: by /mnt/c 在 wsl cmd 提示符下
  • @dmedine 请参阅我回答的第三段,其中我提到了\\wsl$\distroname ;-)。是的,/mnt/c 在 WSL 内部工作,但我的重点实际上只是警告人们远离糟糕的“这是从资源管理器访问 WSL 文件的方式”方面的事情。不过,好点子 - 任何一种方法都可以让您安全地进行跨系统文件访问。
  • 哎呀!发帖前务必阅读!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-19
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
  • 2012-10-22
相关资源
最近更新 更多