1. Home
  2. Docs
  3. windows-cmd
  4. wsl

wsl

适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 – 包括大多数命令行工具、实用工具和应用程序 – 且不会产生传统虚拟机或双启动设置开销。

文档

PS C:\Windows\system32> wsl --help
版权所有(c) Microsoft Corporation。保留所有权利。

用法: wsl.exe [Argument] [Options...] [CommandLine]

运行 Linux 二进制文件的参数:

    如果未提供命令行,wsl.exe 将启动默认 shell。

    --exec, -e <CommandLine>
        在不使用默认 Linux Shell 的情况下执行指定的命令。

    --
        按原样传递其余命令行。

选项:
    --cd <Directory>
        将指定目录设置为当前工作目录。
        如果使用了 ~,则将使用 Linux 用户的主页路径。如果路径
        以 / 字符开头,将被解释为绝对 Linux 路径。
        否则,该值一定是绝对 Windows 路径。

    --distribution, -d <Distro>
        运行指定分发。

    --user, -u <UserName>
        以指定用户身份运行。

管理适用于 Linux 的 Windows 子系统的参数:

    --help
        显示用法信息。

    --install [选项]
        安装额外的适用于 Linux 的 Windows 子系统分发。
         要获得有效分发列表,请使用“wsl --list --online”。

        选项:
            --distribution, -d [参数]
                按名称下载并安装分发。

                参数:
                    有效分发名称(不区分大小写)。

                示例:
                    wsl --install -d Ubuntu
                    wsl --install --distribution Debian

    --set-default-version <Version>
        更改新分发的默认安装版本。

      --shutdown
         立即终止所有运行的分发及 WSL 2
        轻型工具虚拟机。

         --status
           显示适用于 Linux 的 Windows 子系统的状态。

    --update [选项]
        如果未指定任何选项,则 WSL 2 内核将更新
        到最新版本。

             选项:
         --rollback
                还原到 WSL 2 内核的先前版本。

用于管理适用于 Linux 的 Windows 子系统中的分发的参数:

    --export <Distro> <FileName>
         将分发导出到 tar 文件。
        对于标准输出,文件名可以是 –。

    --import <Distro> <InstallLocation> <FileName> [Options]
            将指定的 tar 文件作为新分发导入。
          对于标准输入,文件名可以是 –。

        选项:
            --version <Version>
                指定要用于新分发的版本。

    --list, -l [Options]
        列出分发。

        选项:
            --all
                列出所有分发,包括
        当前正在安装或卸载的分发。

            --running
                仅列出当前正在运行的分发。

            --quiet, -q
                仅显示分发名称。

            --verbose, -v
                显示所有分发的详细信息。

            --online, -o
                显示使用“wsl --install”进行安装的可用分发列表。

    --set-default, -s <分发>
        将分发设置为默认值。

    --set-version <分发> <版本>
        更改指定分发的版本。

    --terminate, -t <分发>
        终止指定的分发。

    --unregister <分发>
        注销分发并删除根文件系统。

示例

显示子系统列表和状态
wsl --list --verbose

启动子系统

方式1: 菜单栏中搜索指定的系统名字,然后点击即可
方式2:命令行中输入指定系统名字, 然后运行 Tip:通过tab键补齐名字

关闭子系统

方式1:关闭打开的窗口
方式2: 退出命令(exit)
方式3: ps> wsl -t [系统名称]
在一段时间后系统会就会关闭

FAQ

每次重启wsl后子系统的IP的会修改

没有root密码 如何设置root密码

以安装的普通管理员进入linux中 然后执行下面命令设置密码即可

sudo  passwd root

不能使用 sudo systemctl enable ssh

  • 版本: 5.10.16
root@DESKTOP-A7JRC5C:/home/jacky# sudo systemctl enable ssh
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

使用root也是不能的, 其他解决方案把需要开机启动的命令写到一个脚本中 启动wsl后手动执行这个脚本

关注这个问题: https://github.com/microsoft/WSL/issues/8883

wsl在使用的过程中突然 出现 WSL2 network unreachable

  • 版本: 5.10.16

解决方案: 重启wsl wsl --shutdown https://stackoverflow.com/questions/66338549/wsl2-network-unreachable

相关资料

微软官方文档-什么是适用于 Linux 的 Windows 子系统?

Was this article helpful to you? Yes No

How can we help?