WSL2使用笔记 | 青训营

2023年 8月 29日 62.5k 0

常用命令

在Windows文件资源管理器中打开WSL项目

请输入:explorer.exe . 请确保在命令的末尾添加句点以打开当前目录。

在VSCode中打开WSL项目

打开WSL2的命令行并输入:code .

关闭/打开WSL

以管理员身份打开powershell

net stop LxssManager
net start LxssManager

IP地址

在WSL 2(Windows Subsystem for Linux 2)中,WSL Linux 发行版运行在一个虚拟机中,它与 Windows 操作系统之间通过虚拟网络进行通信。由于这个原因,WSL 2 中的 Linux 发行版具有自己的独立 IP 地址,并不能直接使用 localhost 来访问。

默认情况下,WSL 2 中的 Linux 发行版会获得自己的 IP 地址,该地址位于与 WSL 2 虚拟机关联的虚拟交换机的子网中。你可以通过在 WSL 2 中运行命令 ip addr show eth0ifconfig 来查看分配给 Linux 发行版的 IP 地址。

默认情况下,WSL 2 的 IP 地址只能被主机上的 Windows 系统访问,而无法直接从外部网络访问。

这是因为 WSL 2 使用了一个虚拟交换机来提供与主机之间的网络连接,并通过网络地址转换(NAT)来实现与外部网络的通信。

从 Windows (localhost) 访问 Linux 网络应用

如果要在 Linux 分发版中构建网络应用(例如,在 NodeJS 或 SQL server 上运行的应用),可以使用 localhost 从 Windows 应用(如 Microsoft Edge 或 Chrome Internet 浏览器)访问它(就像往常一样)。

从 Linux(主机 IP)访问 Windows 网络应用

如果要从 Linux 分发版(即 Ubuntu)访问 Windows 上运行的网络应用(例如,在 NodeJS 或 SQL 服务器上运行的应用),则需要使用主机的 IP 地址。 虽然这不是一种常见方案,但你可以执行以下步骤来使其可行。

  • 通过在 Linux 分发版中运行以下命令来获取主机的 IP 地址:cat /etc/resolv.conf
  • 复制以下词语后面的 IP 地址:nameserver
  • 使用复制的 IP 地址连接到任何 Windows 服务器。
  • 下图显示了一个示例,该示例说明如何通过 curl 连接到在 Windows 中运行的 Node.js 服务器。

    设置环境变量

    • PATH环境变量的作用

      参考资料

      PATH 环境变量的内容是由一堆目录组成的,各目录之间用冒号“:”隔开。当执行某个命令时,Linux 会依照 PATH 中包含的目录依次搜寻该命令的可执行文件,一旦找到,即正常执行;反之,则提示无法找到该命令。

    • WSL和Windows共享环境变量,可以通过echo $PATH看到有很多windows的环境变量。

      如何取消win与wsl的交互的参考资料

      关键:

      vim /etc/wsl.conf
      
      [interop]
      enabled=false
      appendWindowsPath=false
      

      [interop] 部分用于配置 WSL 与 Windows 之间的集成行为。 该部分包含了一些与 Windows 互操作性相关的选项,如文件系统访问、环境变量集成等。 你可以在 [interop] 部分中设置以下选项:

      • enabled:启用或禁用 WSL 与 Windows 之间的集成功能。
      • appendWindowsPath:控制是否将 Windows 的系统环境变量 PATH 自动追加到 WSL 的环境变量 PATH 中。

      但是一旦禁用很多交互命令无法使用了,如code . explorer.exe .

      所以不会取消禁用。

    • 关于环境变量的几个相关文件

      • /etc/profile文件和~/.bashrc文件

        /etc/profile 在用户登录系统时执行,并为所有用户设置全局环境变量和配置。

        ~/.bashrc 是用户级别的配置文件,只适用于当前登录用户。

      • /etc/profile/etc/bash.bashrc

        总结来说,/etc/profile 是系统级别的配置文件,用于设置全局环境变量和系统范围的设置,而 /etc/bash.bashrc 是 Bash shell 的系统级别配置文件,用于设置全局的 Bash shell 相关设置、别名和函数等。

        需要注意的是,对于用户级别的环境设置,应使用 ~/.bashrc 文件而不是修改 /etc/profile/etc/bash.bashrc 文件。用户级别的配置应该放在各自的主目录下的 .bashrc 文件中,例如 /home/username/.bashrc

    启动MYSQL

    service mysql start
    

    利用VSCODE连接MYSQL

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论