WSL2使用笔记 | 青训营

860 阅读4分钟

常用命令

在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 地址。 虽然这不是一种常见方案,但你可以执行以下步骤来使其可行。

  1. 通过在 Linux 分发版中运行以下命令来获取主机的 IP 地址:cat /etc/resolv.conf
  2. 复制以下词语后面的 IP 地址:nameserver
  3. 使用复制的 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