对于习惯Windows系统,又需要接触Linux环境的开发者、运维人员,甚至是Linux新手来说,WSL(Windows Subsystem for Linux,Windows Linux子系统)绝对是提升效率的“神器”。它无需安装笨重的双系统,也不用配置复杂的虚拟机,就能让你在Windows桌面直接使用Linux命令行,实现Windows与Linux的无缝联动。今天就来手把手教你,从认识WSL命令行开始,快速上手常用操作,解锁跨系统高效工作新姿势~
一、先搞懂:WSL命令行到底是什么?
简单来说,WSL命令行就是WSL环境的“操作入口”——通过它,你可以像在纯Linux系统(比如Ubuntu、Debian)中一样,输入Linux命令,执行文件操作、安装软件、运行脚本等。它的核心优势的是“轻量”和“无缝”:启动速度快,资源占用远低于虚拟机;Windows和Linux文件系统互通,不用来回切换系统就能操作两边的文件;还能完美兼容绝大多数Linux命令和工具,比如git、vim、docker等。
目前WSL主要分为WSL 1和WSL 2两个版本,其中WSL 2是当前的默认版本,采用轻量型虚拟机技术运行完整Linux核心,支持完整的系统呼叫相容性,文件密集型操作(如git clone、npm install)速度比WSL 1快2-20倍,还支持systemd和Docker等应用,更适合日常开发和使用;而WSL 1更适合项目文件必须存储在Windows文件系统、需要跨系统交叉编译的场景。
注:WSL 2仅支持Windows 11或Windows 10版本1903(组建18362)及以上,可按Win+R输入winver查看自己的Windows版本。
二、必学基础:WSL命令行入门操作
首先要明确:WSL命令行的操作分为两类——Windows端(PowerShell/CMD)操作WSL 和 WSL端(Linux终端)操作,两者命令略有区别,我们分别讲解最常用的核心指令。
(一)Windows端:管理WSL环境(PowerShell/CMD)
这些命令用于安装、启动、管理WSL和Linux分发版,输入时直接在PowerShell或CMD中执行即可,无需进入WSL。
- 安装WSL(最核心命令):一键安装WSL和默认的Ubuntu分发版,新手直接执行这一条即可。
wsl --install补充选项:若想安装其他Linux分发版,可先执行wsl --list --online查看可用版本,再用wsl --install <分发版名称>安装(如wsl --install Debian);若不想自动启动分发版,可添加--no-launch参数。 - 查看已安装的Linux分发版:查看当前Windows上安装的所有Linux系统,以及它们的运行状态和WSL版本。
wsl --list --verbose # 简写:wsl -l -v输出结果中,STATE为Running表示正在运行,Stopped表示已停止;VERSION为1或2,对应WSL版本。 - 启动/进入WSL:直接启动默认的Linux分发版,进入WSL命令行终端。
wsl # 进入默认分发版,若想进入用户主目录,可执行wsl ~若想进入指定分发版,可执行wsl --distribution <分发版名称>(如wsl --distribution Ubuntu)。 - 停止/关闭WSL:停止指定分发版或所有正在运行的WSL实例。
wsl --terminate <分发版名称> # 停止指定分发版,如wsl --terminate Ubuntuwsl --shutdown # 关闭所有WSL实例,彻底终止WSL运行 - 设置默认WSL版本:指定新安装的Linux分发版默认使用WSL 1或WSL 2(推荐设置为2)。
wsl --set-default-version 2若想修改已安装分发版的WSL版本,可执行wsl --set-version <分发版名称> 2,注意切换过程可能耗时,建议备份重要文件。 - 更新WSL:更新WSL内核和相关组件,修复bug并获得新功能。
wsl --update
(二)WSL端:Linux命令行常用操作
进入WSL终端后,就和在纯Linux系统中操作完全一致了,以下是日常高频命令,新手必记:
- 基础文件操作(和Windows CMD完全不同,重点记!)
ls # 列出当前目录下的所有文件/文件夹(对应Windows的dir)ls -l # 详细列出文件信息(权限、大小、修改时间等)cd <目录路径> # 进入指定目录(如cd /home,进入home目录)cd .. # 回到上一级目录pwd # 查看当前所在目录的完整路径mkdir <文件夹名> # 新建文件夹(如mkdir myproject)touch <文件名> # 新建文件(如touch test.txt)rm <文件/文件夹> # 删除文件(删除文件夹需加-r参数:rm -r myproject)cp <源文件> <目标路径> # 复制文件(如cp test.txt /home)mv <源文件> <目标路径> # 移动/重命名文件(如mv test.txt /home,或mv test.txt test1.txt) - 系统与软件管理
sudo apt update # 更新软件源(获取最新软件列表,Ubuntu专用)sudo apt install <软件名> # 安装软件(如sudo apt install git,安装git)sudo apt remove <软件名> # 卸载软件sudo apt upgrade # 升级已安装的所有软件sudo su # 切换到root用户(拥有最高权限,操作需谨慎)exit # 退出root用户,回到普通用户;若直接输入exit,会退出WSL终端 - Windows与WSL文件互通:WSL可以直接访问Windows的文件,反之亦然,这是WSL的一大优势。
# WSL中访问Windows的C盘(所有Windows磁盘都挂载在/mnt目录下)cd /mnt/c # 进入Windows的C盘,后续操作和Linux文件操作一致# Windows中访问WSL的文件:在文件资源管理器地址栏输入 \\wsl$,即可看到所有WSL分发版的文件系统注意:为了获得更好的性能,建议将项目文件存储在对应系统的文件系统中——在WSL中工作时,将文件存在Linux文件系统(如/home/用户名/),而非Windows文件系统(/mnt/c/)。 - 其他实用命令
clear # 清空终端屏幕(快捷键Ctrl+L也可)whoami # 查看当前登录的用户名uname -a # 查看WSL系统信息(内核版本、系统架构等)top # 查看系统进程和资源占用(类似Windows的任务管理器,按q退出)man <命令> # 查看某个命令的详细用法(如man ls,查看ls命令的说明)
三、进阶技巧:让WSL命令行更好用
掌握基础命令后,这些小技巧能大幅提升你的使用体验,尤其适合开发者。
1. VS Code联动WSL(开发神器)
如果常用VS Code开发,只需安装“WSL扩展”,就能直接在VS Code中操作WSL中的项目,实现本地级别的代码补全、调试和终端操作,步骤如下:
- 在Windows端安装VS Code,并勾选安装时的“添加到PATH”选项;
- 在VS Code中安装“Remote – WSL”扩展;
- 进入WSL终端,导航到项目目录,输入
code .,即可在VS Code中打开当前目录,所有操作都将在WSL环境中执行。
2. 设置WSL默认用户
默认情况下,WSL启动后会使用安装时创建的用户,若想修改默认用户,可在PowerShell中执行:
wsl --distribution <分发版名称> --user <用户名>
3. 开启WSL 2的systemd支持
WSL 2已支持systemd(Linux系统的服务管理器),开启后可正常运行需要systemd的服务(如Docker),开启方法:在WSL终端中编辑/etc/wsl.conf文件,添加以下内容,保存后重启WSL即可:
[boot]
systemd=true
4. 混合使用Windows和Linux命令
WSL支持在Linux终端中直接运行Windows工具,只需在命令前加上cmd.exe /c,例如:
cmd.exe /c notepad.exe # 在WSL中打开Windows记事本
cmd.exe /c start . # 在Windows文件资源管理器中打开当前目录
反之,也可在PowerShell中通过wsl <Linux命令>直接执行Linux命令,实现跨系统命令互通。
四、常见问题速解(新手必看)
- WSL启动失败:检查Windows版本是否符合要求,若符合,执行
wsl --update更新WSL,或通过wsl --status查看错误信息,也可参考微软官方故障排查指南。 - 无法安装软件(apt命令报错):先执行
sudo apt update更新软件源,若仍报错,检查网络连接,或更换国内软件源(如阿里云、清华源)。 - 文件访问权限不足:在WSL终端中执行
sudo chmod +x <文件/文件夹>,赋予文件可执行权限;若操作Windows文件,需确保Windows文件的权限设置允许WSL访问。 - WSL与VMware/VirtualBox冲突:WSL 2与部分旧版本VMware/VirtualBox不兼容,可升级VMware至15.5.5+,或暂时切换到WSL 1。
五、最后总结
WSL命令行的核心价值,就是让Windows用户无需切换系统,就能轻松使用Linux环境——它不用复杂配置,启动快速,还能实现Windows与Linux的无缝联动。对于新手来说,先掌握“安装-启动-基础文件操作”这三步,再逐步学习软件管理和进阶技巧,很快就能上手;对于开发者而言,VS Code联动、systemd支持等功能,能大幅提升跨系统开发效率。
其实WSL命令行没有想象中难,常用命令就那么几十个,多练几次就能形成肌肉记忆。从今天开始,试着用WSL执行git操作、运行脚本,你会发现跨系统工作原来可以这么简单~
如果觉得有用,欢迎点赞收藏,也可以在评论区分享你常用的WSL命令和技巧哦!