Windows Subsystem for Linux(WSL)是由微软开发的一项技术,它允许在 Windows 上运行原生的 Linux 二进制文件。WSL 拥有一系列的命令,本文将以这些命令为中心,从不同的方面详细解析 WSL。
一、WSL 简介
WSL 是一项由微软开发的技术,其目的是允许用户在 Windows 上运行原生的 Linux 二进制文件。这意味着用户可以在 Windows 上开发和运行命令行应用程序,而无需在虚拟机或双系统之间来回切换。
WSL 主要包含两个组件:WSL1 和 WSL2。 WS1 是第一代 WSL,它通过对核心系统调用进行转换来实现 Linux 应用程序的运行。WSL2 是第二代 WSL,它使用了虚拟化技术,因此能够提供更好的性能和功能。无论是哪个版本,WSL 都提供了一系列的命令来管理和配置 Linux 环境。
二、WSL 命令
下面是常见的 WSL 命令及其用途。
1. wsl
wsl [参数] [选项] [命令]
该命令可用于直接在 WSL 中运行 Linux 应用程序。若要在 WSL 中安装一个新的 Linux 发行版,可以使用如下命令:
wsl --install -d Ubuntu
此命令将安装 Ubuntu,并将其设置为默认发行版。
2. wslconfig
wslconfig [参数]
该命令用于管理 WSL 配置选项。它可用于将某个 Linux 发行版设置为默认,指定应在启动 WSL 时自动启动的发行版,查看已安装的发行版等。
例如,要将 Ubuntu 设置为默认发行版:
wslconfig /setdefault Ubuntu
3. export
export [选项] [变量]
该命令用于将指定变量导入到当前 shell 环境中。可以使用 export 命令设置环境变量,以便在后续的应用程序中使用。
例如,要将 /home/user/myapp 目录添加到 PATH 环境变量中:
export PATH=$PATH:/home/user/myapp
4. sudo
sudo [选项] [命令]
该命令允许普通用户以超级用户身份执行命令。需要注意的是,虽然 WSL 中存在 root 账户,但默认情况下它是未启用的。
例如,要以超级用户身份运行 apt-get update 命令:
sudo apt-get update
三、WSL 文件系统访问
WSL 提供了一种简便的方式,使 Windows 用户可以访问 Linux 文件系统中的文件。通过 Windows 中的“\\wsl$”共享目录,用户可以轻松访问他们在 Linux 中安装的应用程序文件。下面介绍如何在 Windows 中使用共享目录。
1.创建共享目录
要创建共享目录,需要在 Linux 终端会话中运行以下命令。
sudo mkdir /mnt/wsl
2.启用WSL文件系统功能
WSL 文件系统访问功能需要开启才能在 Windows 上使用,可以通过以下步骤完成。
① 以管理员身份运行 PowerShell。
② 运行以下命令:
icacls 'C:\Program Files\WindowsApps' /grant 'Users:(RX)'
③ 在 Windows 中启用注销重新登录。
3.访问文件和目录
通过 Windows 上的“\\wsl$”共享目录,可以访问 WSL 中的文件。用户可以通过以下方式进入共享目录。
① 打开 Windows 资源管理器。
② 在地址栏中键入“\\wsl$\”即可访问 WSL 中的文件和目录。
四、WSL 和 Docker 的结合
WSL 和 Docker 的结合使得 Docker 可以直接在 Windows 上运行。下面介绍如何安装和配置 Docker 及其在 WSL 中的使用。
1.安装 Docker
可以在 Docker 官网下载并安装 Docker。
① 下载并安装 Docker。
② 确认 Docker 是否正确安装:在 Windows 终端中,运行命令 docker version。
2.将 WSL 与 Docker 配置到一起
可以在 WSL 终端会话中运行以下命令进行配置。
sudo tee /etc/wsl.conf << EOF > /dev/null
[automount]
root = /
options = "metadata"
EOF
3.设置 Docker 数据目录
将 Docker 数据目录安装在 WSL 中有助于它能够处理 Linux 操作系统,这可以提供更好的性能。
① 在 WSL 中,运行如下命令创建 Docker 目录:
mkdir /home/<user>/docker-root
sudo ln -sfn /home/<user>/docker-root /var/lib/docker
② 启动 Docker。
sudo service docker start
4.使用 Docker
如果一切准备就绪,现在可以在 WSL 中运行 Docker。
① 进入 WSL 终端。
② 运行以下命令以在 Docker 中运行 Ubuntu 容器。
docker run -it ubuntu bash
五、总结
本文以 WSL 命令为中心,介绍了 WSL 的基本概念、WSL 命令的用途、WSL 文件系统访问以及 WSL 和 Docker 的结合。通过本文的介绍,读者可以更好地理解 WSL 并正确地在 Windows 上使用它。