WSL 的基本命令

2023-11-10

安装

wsl --install <Distribution Name> 
# 如果省略<Distribution Name> ,安装WSL和Linux的默认Ubuntu发行版

选项包括:

  • –distribution:指定要安装的 Linux 发行版。 可以通过运行 wsl --list --online 来查找可用的发行版。
  • –no-launch:安装 Linux 发行版,但不自动启动它。
  • –web-download:通过联机渠道安装,而不是使用 Microsoft Store 安装。
    未安装 WSL 时,选项包括:
  • –inbox:使用 Windows 组件(而不是 Microsoft Store)安装 WSL。 (WSL 更新将通过 Windows 更新接收,而不是通过 Microsoft Store 中推送的可用更新来接收)。
  • –enable-wsl1:在安装 Microsoft Store 版本的 WSL 的过程中也启用“适用于 Linux 的 Windows 子系统”可选组件,从而启用 WSL 1。
  • –no-distribution:安装 WSL 时不安装发行版。

列出可用的 Linux 发行版

wsl --list --online  
# 此命令也简化为:wsl -l -o

列出已安装的 Linux 发行版

wsl --list --verbose
# 此命令也可输入为:wsl -l -v

其他选项包括:

  • –all(列出所有发行版)、
  • –running(仅列出当前正在运行的发行版)或
  • –quiet(仅显示发行版名称)

将 WSL 版本设置为 1 或 2

# 指定运行Linux发行版(Ubuntu-20.04/centos7)和对应的WSL 版本(1 或 2)
wsl --set-version <distribution name> <versionNumber>

设置默认 WSL 版本

# 将默认版本设置为 WSL 1 或 WSL 2,请将 <Version> 替换为数字 1 或 2
wsl --set-default-version <Version>

设置默认 Linux 发行版

# 设置 WSL 命令将用于运行的默认 Linux 发行版(Ubuntu-20.04/centos7等)
wsl --set-default <Distribution Name>

将目录更改为主页

# ~ 可与 wsl 一起使用,以在用户的主目录中启动。若要在WSL命令提示符中从任何目录跳回到主目录,可使用命令cd~。
wsl ~

通过 PowerShell 或 CMD 运行特定的 Linux 发行版

# 指定特定用户运行特定的Linux发行版本,用户必须存在(例如root)
wsl --distribution <Distribution Name> --user <User Name>

更新 WSL

# 将 WSL 版本更新到最新版本
wsl --update

可用选项

  • –web-download:从 GitHub 而不是 Microsoft Store 下载最新更新

检查 WSL 状态

# 查看有关 WSL 配置的常规信息,例如默认发行版类型、默认发行版和内核版本
wsl --status

检查 WSL 版本

# 检查有关 WSL 及其组件的版本信息
wsl --version

Help 命令

# 查看 WSL 中可用的选项和命令列表。
wsl --help

以特定用户的身份运行

wsl -u <Username> 或 wsl --user <Username>

更改发行版的默认用户

# 更改用于发行版登录的默认用户。 用户必须已经存在于发行版中才能成为默认用户。
<DistributionName> config --default-user <Username>

例如:ubuntu config --default-user penngo 会将 Ubuntu 发行版的默认用户更改为“penngo”用户。
如果在确定发行版名称时遇到问题,请使用命令 wsl -l。

关闭

# 立即终止所有正在运行的发行版和 WSL 2 轻量级实用工具虚拟机。 在需要重启 WSL 2 虚拟机环境的情形下,例如更改内存使用限制或更改 .wslconfig 文件,可能必须使用此命令。
wsl --shutdown

Terminate

# 若要终止指定的发行版或阻止其运行,请将 <Distribution Name> 替换为目标发行版的名称。
wsl --terminate <Distribution Name>

导入和导出发行版

# 指定 tar 文件导入和导出为新的发行版。
# 导入
wsl --export <Distribution Name> <FileName>
# 导出
wsl --import <Distribution Name> <InstallLocation> <FileName>

选项包括:

  • –vhd:指定导入/导出发行版应为 .vhdx 文件,而不是 tar 文件
  • –version:(仅导入)指定将发行版导入为 WSL 1 还是 WSL 2 发行版

就地导入发行版

# 将指定的 .vhdx 文件导入为新的发行版。 虚拟硬盘必须采用 ext4 文件系统类型格式。
wsl --import-in-place <Distribution Name> <FileName>

注销并卸载 WSL 发行版:

wsl --unregister <DistributionName>

装载磁盘或设备

# 通过将 <DiskPath> 替换为物理磁盘所在的目录\文件路径,在所有 WSL2 发行版中附加和装载该磁盘。
wsl --mount <DiskPath>

选项包括:

  • –vhd:指定 引用虚拟硬盘。
  • –name:使用装入点的自定义名称装载磁盘
  • –bare:将磁盘附加到 WSL2,但不进行装载。
  • –type :装载磁盘时使用的文件系统类型默认为 ext4(如果未指定)。 此命令也可输入为:wsl --mount -t 。可以使用 blkid 命令检测文件系统类型,例如:blkid <dev/sdb1>。
  • –partition :要装载的分区的索引号默认为整个磁盘(如果未指定)。
  • –options :装载磁盘时,可以包括一些特定于文件系统的选项。 例如,wsl --mount -o “data-ordered” 或 wsl --mount -o "data=writeback 之类的 ext4 装载选项。 但是,目前仅支持特定于文件系统的选项。 不支持通用选项,例如 ro、rw 或 noatime。

卸载磁盘

wsl --unmount <DiskPath>

当前可用发行版本下载

linux发行版本,也可以在windows应用商城下载(一般默认安装在C系统盘)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WSL 的基本命令 的相关文章

  • 当我通过 shell 脚本创建 .txt 文件时,为什么文件名末尾出现问号? [复制]

    这个问题在这里已经有答案了 我正在编写一个 shell 脚本 我应该在其中创建 1 个文本文件 当我这样做时 文件名末尾出现一个问号 是什么原因 我正在 bash 脚本中尝试以下方法 1 grep ERROR a1 gt text txt
  • 如何真正释放 Linux 中的大页面以供新进程使用?

    真的找不到太多关于此的信息 希望有人可以提供帮助 我正在假脱机使用 100GB java 堆作为大数据缓存 为了避免与文件系统缓存等内容发生冲突 并且因为它通常性能更好 我将其分配在大页面中 我保留了 51 200 x 2MB 大页面 一切
  • 构建 jar 后无法运行 exe

    我制作了一个简单的实用应用程序 其中我有一个要运行的exe文件 我通过使用它来运行 Runtime getRuntime exec this getClass getResource filename exe getPath 当我从 ide
  • 即使 makefile 和源代码存在,为什么“Build Project”在 Eclipse Helios CDT 中显示为灰色?

    我无法构建我的项目 我在 Eclipse Helios 中创建了一个新的 CDT 项目 并告诉它使用现有的源代码和 makefile 这两者都正确显示在 Package 和 Project 视图中 然而 项目 菜单中的 构建全部 和 构建项
  • Windows 中“nice”的等效词

    Windows 中是否有相当于 Unix 命令的命令 nice 我正在专门寻找可以在命令行中使用的东西 并且not任务管理器中的 设置优先级 菜单 我在谷歌上寻找这个的尝试被那些想不出更好形容词的人挫败了 如果您想在启动进程时设置优先级 您
  • Nasm 打印到下一行

    我用 nasm Assembly 编写了以下程序 section text global start start Input variables mov edx inLen mov ecx inMsg mov ebx 1 mov eax 4
  • Mono 和 WebRequest 速度 - 测试

    在 mono 4 6 2 linux 中 我注意到 wget 下载文件的速度与webclient DownloadString 所以我做了一个小测试来调查 为什么 wget 明显比 C 快 根据我自己的实验 使用 wget 下载 手动读取文
  • 从 Linux 命令行发送 SNMP 陷阱消息

    Folks 我需要从 Linux 命令行使用此命令 snmptrap 将自定义消息发送到陷阱侦听器 我需要根据用户设置在 v1 和 v2c 中发送相同的消息 这是我发现的 For v1 snmptrap v 1 c Tas hostname
  • 如何将 man 和 zip 添加到 Windows 上的“git bash”安装中

    我在用git bash https git for windows github io 在 Windows 上 即git对于 Windows 通过集成bash 显然它使用的是MINGW MSYS支撑 来自 VonC 的更新 现在使用 msy
  • jpackage linux 创建的桌面文件不足

    我刚刚开始使用 jpackage 它是一个非常棒的工具 只要迈出一步 我的肩上的工作就减轻了很多 我对看起来硬编码且无法定制的东西越感到惊讶 JPackage 自动生成启动器 lib
  • 新的 Windows 应用程序 - 什么语言?

    我们目前正处于开发 Windows 桌面应用程序的前期阶段 但当听到有关 Windows 8 Silverlight WPF Jupiter 的所有最新讨论时 我不知道该相信什么了 现在用WPF启动一个新项目是不是有问题 我应该切换到 Si
  • 无法安装 psycopg2 Ubuntu

    试图为 django 项目准备好服务器 但我在设置 postgres 时遇到了一些问题 我正在遵循本指南 https jee appy blogspot com 2017 01 deply django with nginx html ht
  • 如何使用libaudit?

    我试图了解如何使用 libaudit 我想接收有关使用 C C 的用户操作的事件 我不明白如何设置规则 以及如何获取有关用户操作的信息 例如 我想获取用户创建目录时的信息 int audit fd audit open struct aud
  • 使用 MongoDB docker 镜像停止虚拟机而不丢失数据

    我已经在 AWS EC2 上的虚拟机中安装了官方的 MongoDB docker 映像 并且数据库上已经有数据 如果我停止虚拟机 以节省过夜费用 我会丢失数据库中包含的所有数据吗 在这些情况下我怎样才能让它持久 有多种选择可以实现此目的 但
  • 变量作为 bash 数组索引?

    bin bash set x array counter 0 array value 1 array 0 0 0 for number in array do array array counter array value array co
  • 如何使用 bash 脚本关闭所有终端,在每个终端中有效地按 Ctrl+Shift+Q

    我经常打开许多终端 其中一些正在运行重要的进程 例如服务器 而另一些则没有运行任何东西并且可以关闭 如果您按 重要 则会弹出确认提示Cntrl Shift Q在其中 如下所示 我想要一个 bash 脚本 它可以关闭所有终端 但将 重要 终端
  • Docker DNS 设置

    我尝试使用自定义网络和 dos 设置创建 docker 容器 docker网络创建 driver bridge opt com docker network bridge enable ip masquerade true opt com
  • 当IRQL下降时,Windows中如何触发软件中断?

    我知道对于硬件中断 当 KeAcquireInterruptSpinLock 调用 KeLowerIrql 时 HAL 会调整 LAPIC 中的中断掩码 这将允许自动服务排队的中断 可能在 IRR 中 但是对于软件中断 例如 ntdll d
  • 系统错误 124 - SHFileOperation 的 ERROR_INVALID_LEVEL

    我在使用时遇到问题SHFileOperation SHFileOperation SHFILEOPSTRUCT https stackoverflow com questions 9191415 shfileoperation shfile
  • 在中断时获取 current->pid

    我正在Linux调度程序上写一些东西 我需要知道在我的中断到来之前哪个进程正在运行 当前的结构可用吗 如果我在中断处理程序中执行 current gt pid 我是否可以获得我中断的进程的 pid 你可以 current gt pid存在并

随机推荐

  • Crunchfish发布XR Skeleton手势交互解决方案

    转自 https baijiahao baidu com s id 1677811512042412943 wfr spider for pc 移动交互解决方案开发商Crunchfish日前发布了名为XR Skeleton的手势控制技术 只
  • HttpClient的”javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated”异常

    在开发https应用时 你的测试服务器常常没有一个 有效的 SSL证书 在你的客户端连接测试服务器时 如下的异常会被抛出 javax net ssl SSLPeerUnverifiedException peer not authentic
  • CDN方式使用Vue,VantUI组件方式

    代码示例
  • 这个小工具竟然可以让我保持健康

    Part1背景 我有个同事今天跟我说 他总是忘记喝水 这可怎么办 作为程序员的我们 本就每天久坐缺乏锻炼 如果再忘记喝水 那将会带来多么严重的后果 所以我决定为他做一个小工具来提醒他定时喝水 活动 Part2前期准备 1下载依赖软件 pip
  • python 用逐步回归筛选变量

    在回归分析中 影响因变量y的因素很多 而有些自变量的对目标变量y的影响程度不同 为了建立一个相对最优的回归方程 我们需要筛选掉对目标变量y影响不大的变量 这就涉及到了变量选择问题 逐步回归是通过假设检验的方法来筛选强特征 但如果直接用特征变
  • Springboot线上环境彻底关闭Swagger-UI

    文章目录 概要 整体架构流程 技术细节 小结 概要 Springboot线上环境彻底关闭Swagger UI 整体架构流程 1 SwaggerConfig使用 Profile排除线上环境其他环境生效 2 创建一个控制类使用 Profile仅
  • 一、绘制不同类别特征均值标准差直方图

    1 绘制不同类别植被指数均值标准差直方图 数据类型 不同类别样本植被指数 实验目的 1 计算不同类别各指数的均值和标准差 1 1读取表格中的数据 1 2预处理数据 提取不同类别指数 归一化指数 计算均值标准差 1 3画图 import pa
  • fhog资料整理

    fast hog资料整理 https github com joaofaro FHOG https github com ppaanngggg fhog 这个有两种 1 DPM的 Mat tmp image image convertTo
  • 如何读取字符串中的空格

    根据前面的学习 我们可以知道scanf读取到空格 回车 tab会停止读取 后面的内容会交给后面的scanf读取 那么问题来了 我们如何让scanf语句把字符串中的空格也读取呢 在scanf中使用 参数 这个参数的作用就是读取一个字符集合 中
  • Python+Selenium框架篇1-介绍unittest单元测试框架

    本文介绍什么是unittest单元测试框架 1 什么是unittest框架 unittest框架 原名PyUnit框架 是Python语言自带的单元测试框架 Python2 1及其之后的版本已将unittest作为一个标准模块放入Pytho
  • 【PC】响应式HTML5网页项目

    快速完成网页设计 10个顶尖响应式HTML5网页模板助你一臂之力 为了寻找一个优质的网页模板 网页设计师和开发者往往可能会花上大半天的时间 不过幸运的是 现在的网页设计师和开发人员已经开始共享HTML5 Bootstrap和CSS3中的免费
  • untiy 监听屏幕点击 物体(实现)

    第一种方式 1 百度的第三方法 using System Collections using System Collections Generic using UnityEngine using UnityEngine UI public
  • linux下nginx+php安装

    初始nginx php环境文件复制安装 需要复制的文件列表 usr local nginx usr local php usr local php 5 4 35 data mexue apps mysql etc init d mysqld
  • C#反射:GetManifestResourceStream

    public virtual Stream GetManifestResourceStream string name 参数 name 类型 System String 所请求的清单资源的名称 区分大小写 name格式 项目名称 文件名 通
  • 区块链:单位(Units) 和 全局变量(Globally Available Variables)

    Ether Units 一个整数的后面可以跟一个单位 ether finney szabo或者wei 他们的单位换算如下 1 ether 1000 finney 1 ether 1000000 szabo 1 ether 10 18 wei
  • sql count中加条件

    一般的 我们会在where 或者 having中加条件 count中只是某个字段 今天看到另外一种写法 不知道性能怎么样 select count case when xxx gt 10 and yyy lt 99 then bbb els
  • gitlab的安装过程以及如何修改默认端口

    工欲善其事 必先利其器 此文讲述的是gitlab的安装历程 需要有一定的英文阅读能力者 安装环境 ubuntu Ubuntu 17 04 官方推荐需要的硬件条件 Storage a fast drive 7200 RPM and up or
  • tsconfig.json的esModuleInterop使用场景是怎样的?

    问题场景 npm包改造前 仅支持esm npm包改造后 既支持esm 又支持cjs 为什么改造后 还是会报错 如何理解ts编译配置esModuleInterop 总结 问题场景 遇到一个很有趣的场景 cjs中需要引入原先打包方式为esm方式
  • 基于NSGA算法解决地形路径规划问题(MATLAB代码)

    基于NSGA算法解决地形路径规划问题 MATLAB代码 地形路径规划是一个重要的问题 涉及到在具有复杂地形的环境中找到一条最佳路径 NSGA Non dominated Sorting Genetic Algorithm 是一种多目标优化算
  • WSL 的基本命令

    文章目录 安装 列出可用的 Linux 发行版 列出已安装的 Linux 发行版 将 WSL 版本设置为 1 或 2 设置默认 WSL 版本 设置默认 Linux 发行版 将目录更改为主页 通过 PowerShell 或 CMD 运行特定的