虚拟机完美替代者——WSL2

文章介绍了在Windows平台上启用WSL服务的步骤,包括通过PowerShell激活服务、安装Ubuntu、解决可能遇到的error0x80370114问题,以及如何开启远程终端访问和在WSL与Windows之间进行交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本可以替代虚拟机,轻量且方便,仅限windows平台

1.激活WSL服务


按 Win+X, 启动 Windows PowerShell (管理员),在 PowerShell 窗口中,输入如下指令来激活 WSL 服务:Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux,输入完成之后按照提示执行即可。

电脑重启之后,按下 Win + R,调出命令输入窗口。输入指令 appwiz.cpl,点击左侧的 【启动或关闭 Windows 功能】:可以看到:【适用于 Linux 的 Windows 子系统】这一栏已经被勾选了,说明 WSL 服务已经启动。接下来要做的事情,就是安装 Ubuntu 操作系统。

2.安装 Ubuntu操作系统


启动 【Windows Store】,搜索Ubuntu,选择你想要的版本,安装完成之后点击打开,等待一会就会提示设置用户名密码,设置好之后就会进去Ubuntu系统。

但是此处可能会报错:error 0x80370114,解决方法:首先更新一下wsl,执行:wsl --install,然后在 Windows 11 上打开“设置”->“应用”->“可选功能”,找到“更多windows功能”选项,把Hyper-V勾上,然后按照提示重启即可OK。

这里可能会存在找不到Hyper-V选项的情况,那么可以新建一个txt文档,将下面代码复制进去,然后保存并把txt后缀改为bat,最后以管理员身份运行即可:

pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL
pause

3.进入Ubuntu终端


按住shift键,点击右键,选择在此处打开linux shell即可。

4.远程终端访问


需要修改配置:vim /etc/ssh/sshd_config,然后增加以下配置即可。

LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
PasswordAuthentication yes

5.wsl与Windows之间的交互


比如进入桌面:ubuntu@xxx:/mnt/c/Users/xxx/Desktop$,可根据此路径来访问Windows其他位置。

### 解决方案概述 在 Windows 系统中,默认情况下并不提供 `grep` 命令,因为它属于 Unix/Linux 平台上的工具。然而,可以通过以下两种主要方式解决问题:一是利用 PowerShell 提供的功能作为 `grep` 的替代品;二是安装第三方软件以引入类 Unix 工具集并启用真正的 `grep` 功能。 --- ### 方法一:使用 Windows PowerShell 实现类似 `grep` 的功能 #### 1. **PowerShell 中的 `Select-String` 命令** PowerShell 自带了一个强大的命令——`Select-String`,它可以完成与 `grep` 类似的任务。以下是基本用法示例: ```powershell Get-Content file.txt | Select-String "pattern" ``` 这段代码的作用是从文件 `file.txt` 中读取内容,并筛选出包含指定模式 `"pattern"` 的行[^2]。 #### 2. **递归搜索文件夹中的文本** 如果需要像 `grep -r` 那样在整个目录及其子目录中搜索特定字符串,可以这样做: ```powershell Get-ChildItem -Recurse | Select-String "pattern" ``` 这会递归地遍历当前目录下的所有文件,并显示匹配该模式的内容以及对应的文件路径和行号。 #### 3. **高级选项支持** `Select-String` 还允许用户定义更多参数来自定义行为,比如区分大小写 (-CaseSensitive),只返回文件名而不展示具体内容 (-List) 等等。例如: ```powershell Get-ChildItem *.txt | Select-String -Pattern "error" -CaseSensitive ``` 以上例子只会找出严格符合大写字母 E 开头单词 Error 出现在任意 .txt 文件里的位置[^4]。 --- ### 方法二:安装类 Unix 工具以支持原生 `grep` 对于习惯于传统 `grep` 操作的人来说,在 Windows 上也可以通过安装额外组件获得完全一致的操作体验。 #### 1. **Git Bash** 随着 Git 版本控制系统越来越普及,许多开发人员已经在他们的机器上安装了 Git 软件包。值得注意的是,Git for Windows 不仅仅包含了 git 相关指令,还附赠了一套完整的 MinGW 环境,其中包括 GNU 工具链的一部分,自然也涵盖了我们所需要的 grep 应用了。因此只需确认已成功部署好最新版 Git 即可立即调用它[^5]。 #### 2. **Cygwin / MSYS2** 这两个项目致力于构建一个兼容 POSIX 标准的运行时层面上映射至 WinAPIs 层面之上,使得移植自 Linux 发行板的各种开源应用得以无缝衔接运作起来。它们都预置了大量的常用 shell utilities ,当然少不了我们的主角 grep 。不过相对而言配置过程稍微复杂一点,适合长期重度依赖此类跨平台需求场景的朋友尝试探索一下。 #### 3. **WSL (Windows Subsystem for Linux)** 微软近年来大力推广 WSL 技术,旨在让开发者无需虚拟机就能轻松享受接近真实 Linux Kernel 行为表现的服务框架。一旦激活对应服务开关之后,便能够直接从 Microsoft Store 商店下载官方认证过的 Ubuntu 或 Fedora 形象镜像启动终端窗口进而执行标准 bash session 下的一切操作含括但不限于运用 grep 来处理日常事务啦[^5]! --- ### 结论 无论是倾向于学习掌握本地化解决方案还是追求保留原有技能迁移成本最小化的策略都可以找到合适的切入点去克服这个障碍。推荐初学者先熟悉 Power Shell 内建能力再逐步过渡到集成外部资源上来扩展视野边界。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值