怎样通过WSL来运行脚本呢?
最近总听同事念叨“WSL真香”,说是在Windows系统里能直接跑Linux脚本,省得装双系统或者虚拟机,我这种电脑小白一开始还半信半疑,结果自己试了试,发现这玩意儿确实好用!今天就把我的实战经验分享出来,保证让零基础的朋友也能跟着操作。
WSL到底是个啥?
先说个真实场景:上周我想用Python跑个爬虫脚本,结果发现公司电脑装的Windows系统里没有Linux环境下的某些依赖库,重装系统?太麻烦!装虚拟机?电脑配置不够卡成PPT,这时候同事给我推荐了WSL(Windows Subsystem for Linux),说是微软官方出的“黑科技”,能在Windows里直接运行Linux系统。

WSL就像给Windows装了个“Linux翻译器”,不用分区不用双系统,就能用Linux的命令行工具,现在最新的是WSL2,性能比第一代强很多,还能直接调用Windows的文件系统。
安装WSL的详细步骤(附截图说明)
-
开启系统功能
按Win+R输入powershell
,右键选择“以管理员身份运行”,然后输入这行命令:wsl --install
系统会自动下载并安装Ubuntu(默认发行版),如果提示错误,可能是系统版本不够新,需要先升级到Windows10 2004或更高版本。
-
设置用户名和密码
安装完成后重启电脑,打开开始菜单找到“Ubuntu”图标,第一次运行会让你设置用户名和密码。注意:这个密码输入时不会显示星号,直接盲打就行(别慌,我第一次也以为卡死了)。 -
更新系统包
进入Ubuntu终端后,先运行这两条命令更新软件源:sudo apt update sudo apt upgrade -y
这里
sudo
是获取管理员权限,apt
是Ubuntu的包管理工具,update
更新软件列表,upgrade
升级已安装的软件。
运行脚本的三种实用场景
场景1:直接运行Shell脚本
假设有个hello.sh
如下:
#!/bin/bash echo "Hello, WSL!"
保存后,在Ubuntu终端里先给脚本执行权限:
chmod +x hello.sh
然后运行:
./hello.sh
屏幕上就会显示“Hello, WSL!”。关键点:脚本第一行的#!/bin/bash
必须写对,否则系统不知道用哪个解释器执行。
场景2:调用Windows的Python脚本
我有个test.py
文件放在Windows的D:\scripts
目录下,内容是:
print("这是Windows的Python脚本")
在Ubuntu终端里,先进入对应目录(注意路径格式):
cd /mnt/d/scripts
然后直接运行:
python3 test.py
原理:WSL2默认挂载了Windows的磁盘,/mnt/d/
对应的就是D盘,这样就能无缝调用Windows的文件。
场景3:定时运行脚本(Cron任务)
想每天自动备份文件?用Linux的Cron服务就行,先编辑Cron表:
crontab -e
选择编辑器(推荐选1,用nano),然后添加一行:
0 3 /bin/bash /mnt/d/scripts/backup.sh
这表示每天凌晨3点运行backup.sh
脚本,保存后,Cron服务会自动在后台执行。
常见问题解决方案
-
权限不足怎么办?
如果运行脚本时提示“Permission denied”,记得用chmod +x 脚本名
赋予执行权限。 -
文件路径混淆
Windows和Linux的路径格式不同,比如Windows的C:\Users
在WSL里要写成/mnt/c/Users
。 -
网络连接问题
如果脚本需要联网,确保Windows的防火墙没有阻止WSL的网络访问,可以在PowerShell里运行:Get-NetFirewallRule | Where-Object { $_.DisplayName -like "WSL " } | Format-Table Name, DisplayName, Enabled
检查WSL相关的防火墙规则是否启用。
进阶技巧:WSL与VS Code深度整合
微软的VS Code对WSL支持极好,安装“Remote - WSL”扩展后,直接在Ubuntu终端输入:
code .
就能用VS Code打开当前目录,而且所有终端操作都在WSL环境下执行,再也不用在Windows和Linux之间来回切换文件了。
从最初的怀疑到现在的真香,WSL确实解决了我“既要用Windows办公,又要跑Linux脚本”的痛点,现在我每天用WSL跑爬虫、处理日志文件,甚至还用它搭建了本地开发环境,如果你也遇到类似需求,不妨花半小时试试,说不定会打开新世界的大门!
(全文约1200字,实际操作时间约20分钟,适合Windows10/11用户)
文章评论