目录

WSL(Windows Subsystem for Linux)的安装与使用

更新于 2021-02-20

WSL(Windows Subsystem for Linux)的安装与使用

安装:

  1. 管理员权限运行powershell并运行下面的命令:(命令行似乎不一定好使,建议从下面的控制面板设置)
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

**或者:**控制面板 -> 程序 -> 程序和功能 -> 启用或关闭Windows功能->勾选 适用于Linux的Windows子系统

img

  1. 重启电脑

  2. 打开应用商城搜索"WSL",安装自己需要的系统

    image-20210201111041989

  3. 安装完成后可在开始菜单里找到快捷方式并启动,第一次运行需要等待安装并设置用户名、密码。

  4. 除此以外,在cmd中使用以下几个命令都可以运行WSL:

    • wsl 或者 bash
    • wsl [command]或者bash -c [command]
    • Linux系统名称(如:ubuntu),这跟上面在开始菜单里启动是一样的

    其中,前两种方式会运行默认的linux系统,当你安装多个linux系统之后可以使用wslconfig来指定

使用wslconfig命令进行管理

  1. 设置默认运行的linux系统
wslconfig /setdefault <DistributionName>

正如上面所说,如果执行wslconfig /setdefault ubuntu,那么执行bash命令则会运行ubuntu

  1. 卸载linux系统
wslconfig /unregister <DistributionName>

当系统出现问题,我们可以卸载后重新安装。如:wslconfig /unregeister ubuntu

  1. 查看已安装的linux系统
wslconfig /list

设置默认登陆用户

当我们运行WSL时,它默认会用第一次运行时输入的用户名登陆。(以ubuntu为例):

ubuntu config --default-user root

然后重启wsl即可。

常见错误

ubuntu : 无法将ubuntu项识别为 cmdlet函数脚本文件或可运行程序的名称请检查名称的拼写如果包括路径请确保路径
正确然后再试一次
所在位置 :1 字符: 1
+ ubuntu config --default-user root
+ ~~~~~~
    + CategoryInfo          : ObjectNotFound: (ubuntu:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

使用wslconfig /list 查看已经安装的linux 系统,如果是Ubuntu-20.04,则运行

Ubuntu2004 config --default-user root

WSL文件系统与本地文件系统互相访问

  1. WSL中访问本地文件
  • 在“/mnt”目录下有“c”、“d”、“e”等文件夹,分别表示本地的C盘D盘E盘,直接cd到相应路径下即可。
  1. 本地访问WSL的根目录

    • 微软强烈不建议在外部对WSL文件系统进行更改,所以未公开WSL所在的根目录(不过博主通过某种途径还是找到了→_→)。毕竟有时候我们需要直接读取里面的很多文件(比如说在某个IDE里面设置include path为WSL的/usr/include),如果每次都在WSL里cp命令将其拷贝到本地又太麻烦。

    • 下面是其根目录(以ubuntu为例,版本不同可能会有略微差别):

    • (C:\Users\XXXX\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs)

      不过我不建议在外部直接对其文件进行编辑、新建等操作,因为会出现一些问题。