首页 » web服务器

WSL 常用命令

   发表于:web服务器评论 (0)   热度:422

WSL,Windows Subsystem for Linux,以下简称子系统。

本文中介绍的命令均在 Windows 命令行中执行。

查看帮助信息:

> wsl --help  \\ --help 可简写为 -h

 

安装子系统(必须是微软官方提供的子系统):

 > wsl --install --distribution <Distro>  // --distribution 可简写为 -d
// 例如,安装 Debian:
 > wsl --install -d Debian  

查看微软官方提供的子系统:

> wsl --list --online  // 可简写为 wsl -l -o
The following is a list of valid distributions that can be installed.
Install using 'wsl --install -d <Distro>'.

NAME            FRIENDLY NAME
Ubuntu          Ubuntu
Debian          Debian GNU/Linux
kali-linux      Kali Linux Rolling
openSUSE-42     openSUSE Leap 42
SLES-12         SUSE Linux Enterprise Server v12
Ubuntu-16.04    Ubuntu 16.04 LTS
Ubuntu-18.04    Ubuntu 18.04 LTS
Ubuntu-20.04    Ubuntu 20.04 LTS

官方提供的发行版只能安装在 C 盘,如果不想安装到 C 盘,那你可以自制子系统并导入。微软官方教程:Import any Linux distribution to use with WSL | Microsoft Docs(这篇教程以 CentOS 为例)。

 

设置默认的子系统:

> wsl --set-default <Distro>  // --set-default 可简写为 -s
// 例如,将 Ubuntu 设为默认子系统:
> wsl -s ubuntu

 

设置 wsl 的默认版本(wsl 有两个版本:wsl1 和 wsl2):

> wsl --set-default-version <Version>  
// 例如,将 wsl2 设为默认版本:
> wsl --set-default-version 2

将某一子系统设为 wsl1 或 wsl2:

> wsl --set-version <Distro> <Version>
// 例如,将 Ubuntu 设为 wsl2:
> wsl --set-version ubuntu 2

 

查看状态,包括当前的默认子系统是哪个、wsl 的版本是 1 还是 2、内核版本等:

> wsl --status

查看详细信息,包括安装了哪些子系统、子系统的运行状态、wsl1 还是 wsl2:

> wsl --list --verbose  // 可简写为 wsl -l -v,非常常用!

 

进入默认的子系统:

> wsl

进入某个子系统,以 ubuntu 为例(只对微软官方提供的子系统有效,对自己导入的子系统无效,如 CentOS):

> ubuntu
默认以非 root 用户登录。如果想默认使用 root 用户,需执行命令:ubuntu config --default-user root
查看更多选项可执行: ubuntu help。

进入某个子系统的另一种方式:

> wsl -d <Distro>  // -d 是 --distribution 的简写
// 例如,进入 Debian
> wsl -d debian

进入子系统后,可以通过 exit 命令,或 Ctrl + d 退出。

 

直接运行子系统命令:

> wsl -d <Distro> <command>  // -d 是 --distribution 的简写 
// 例如,在 Ubuntu 中运行 ls 命令:
> wsl -d ubuntu ls
// 如果是在默认子系统中运行命令,可省略 -d <Distro>,例如:
> wsl ls

可以在运行命令时指定用户:

> wsl -d <Distro> --user <Username> <command>  // --user 可以简写为 -u
// 例如,在 Ubuntu 中以 root 用户的身份来运行 whoami 命令:
> wsl -d ubuntu -u root whoami 
省略用户时,使用默认用户。

 

一旦进入过某个子系统,或直接运行过某个子系统的命令,那该子系统就会变为运行状态。

关闭某个子系统:

> wsl --terminate <Distro> // --terminate 可简写为 -t,<Distro> 不能省。
// 例如,关闭 Ubuntu:
> wsl -t ubuntu

关闭所有子系统:

> wsl --shutdown

一个命令行窗口只能有一个运行状态的子系统,运行一个新的,就会自动停止一个旧的。

想要同时运行多个子系统,需要打开多个命令行窗口(关闭命令行窗口不会关停子系统)。

 

卸载某个子系统:

> wsl --unregister <Distro>
// 例如,卸载 Ubuntu:
> wsl --unregister ubuntu

另外,通过微软应用商店安装的子系统,可以像普通应用一样卸载。

(。・v・。)
喜欢这篇文章吗?欢迎分享到你的微博、QQ群,并关注我们的微博,谢谢支持。