相关疑难解决方法(0)

适用于 Linux 的 Windows 子系统上的主目录是什么?

当我bash在 Linux 的 Windows 子系统上启动时,它会将我放到目录中

/mnt/c/Users/<username>
Run Code Online (Sandbox Code Playgroud)

当我ls看到这个目录时,我看到了使用 Windows 文件资源管理器时可以看到的目录DesktopDocumentsC:\Users\<username>。由于这是bash程序开始的地方,我希望这是我的主目录,但是当我输入cdcd ~我被带到

/home/<username>
Run Code Online (Sandbox Code Playgroud)

其中包含我希望在 Linux 机器的主目录中找到的我的.bashrc, .profileetc. 文件。此外,cd ../..从这里进入我可以看到目录binetc等等,这在 Linux 机器上再次如预期。

关于这一切,我有两个问题:

  1. 究竟/mnt/c/Users/<username>与什么相比C:\Users\<username>?似乎它们是同一个——那是/mnt/c/什么?
  2. 如何/home/<username>使用 Windows 文件资源管理器查看文件?并不是说我真的想要——我只是想了解一下 Windows 如何组织 Linux 子系统。

bash windows-10 windows-subsystem-for-linux

293
推荐指数
7
解决办法
57万
查看次数

windows 10 WSL ubuntu 无法 ping 任何内容

当我使用适用于 Windows 10 的 WSL 时,我无法 ping 通任何网站。我在 WSL 中运行 Ubuntu 18.04。

--- google.com ping statistics ---
14 packets transmitted, 0 received, 100% packet loss, time 38567ms
Run Code Online (Sandbox Code Playgroud)

这是当我尝试 ping google.com 时的结果,我使用的是带 IPv4 的 Windows 10,禁用了 IPv6。我可以在常规命令提示符下正常 ping google.com,无需使用 wsl

我正在运行 Avast internet security,当我从 ubuntu/WSL 实例内部 ping google 时,这就是我所看到的。

1在此输入图像描述

我需要做什么才能在 WSL 中启用 ping

windows ping rails windows-subsystem-for-linux

11
推荐指数
1
解决办法
4万
查看次数

WSL 上的 Docker 不会绑定挂载 $HOME

我最初在 Stack Overflow 上问过这个问题,但我认为超级用户可能更合适。

我在 WSL(Linux 的 Windows 子系统,Ubuntu 16.04)上使用 Docker 时遇到了最奇怪的情况。我试图将安装/home/username(或只是$HOME为了方便)绑定为容器中的卷,而不是在容器中查找我的主目录的内容,而是完全获得一些其他卷。

奇怪的是,每当我尝试绑定 mount$HOME/home/username. 如果我触摸一个新文件,它会出现在我安装到的所有其他容器中$HOME。所有其他绑定安装到任何其他目录都可以正常工作。

例如,这些都共享同一个神秘文件夹:

docker run -it --rm -v /home/username:/test alpine sh
docker run -it --rm -v $HOME:/test alpine sh
docker run -it --rm -v $HOME:/test -v $HOME:/test2 alpine sh
Run Code Online (Sandbox Code Playgroud)

当我执行 a 时,docker volume ls没有名为 的卷/home/username,因此排除了意外拥有同名的 docker 托管卷的情况。

我正在安装的这个神秘卷是什么,为什么 docker 没有$HOME正确安装我的目录?

docker windows-subsystem-for-linux

5
推荐指数
1
解决办法
8971
查看次数