win安装WSL和win使用shell

一、安装WSL

WSL解释:

WSL = Windows Subsystem for Linux(Windows 的 Linux 子系统)

1、它是 微软官方 在 Windows 10/11 中内置的功能

2、允许你在 Windows 系统内部 直接运行完整的 Linux 环境

3、不需要虚拟机(如 VMware、VirtualBox)

4、不需要双系统(无需重启切换)

WSL对比:

方式 启动速度 资源占用 文件互访 图形界面
WSL ⚡ 秒级启动 低(共享内核) 双向直接访问 支持(需配置)
虚拟机 🐢 较慢(1-2分钟) 高(独立系统) 需共享文件夹 完整支持
双系统 🐌 最慢(重启) 独占硬件 无法直接访问 完整支持

WSL和WSL2区别:

|--------------------------------------------------------|---------------------------------------------------------------|
| WSL1(架构模拟) | WSL2(真实 Linux 内核) |
| Windows + Linux 程序 ↓ WSL 转换层(兼容层) ↓ Windows 内核 | Windows + Linux 程序 ↓ 真实 Linux 内核(轻量级虚拟机) ↓ Windows 内核 |
| 特点:文件性能好,系统调用需要转换 | 特点:完整的 Linux 系统调用,Docker 支持好 |

WSL安装

bash 复制代码
#1、在win的cmd中执行如下命令,这个命令默认会打开wsl、安装wsl2、以及安装默认的wsl需要的ubuntu系统
wsl --install


#2、如果已经有wsl图标,双击打开闪退,可能是没有需要的系统,执行下面cmd代码进行安装ubuntu(完整版ubuntu系统,1-2G)
wsl --install -d Ubuntu
#或者制定版本
wsl --install -d Ubuntu-22.04

然后wsl就有ubuntu系统了

二、设置wsl开机自启动

查看wsl的完整路径:C:\Windows\System32\wsl.exe

然后把这个位置放到开机自启动文件夹

copy "C:\Windows\System32\wsl.exe" "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\"

因为我已经添加过了,所以提示我覆盖。添加后自启动设置成功。

三、把脚本添加到定时任务

用sercice不用systemctl启动定时任务,是因为wsl的ubuntu没有systemctl

bash 复制代码
#查看定时任务cron状态,发现没启动
huangchaofan@ZB-PW0B470Y:/$ sudo service cron status
 * cron is not running

#启动cron
huangchaofan@ZB-PW0B470Y:/$ sudo service cron --full-restart
 * Stopping periodic command scheduler cron                                                                      [ OK ]
 * Starting periodic command scheduler cron                                                                      [ OK ]


#再次查看状态
huangchaofan@ZB-PW0B470Y:/$ service cron status
 * cron is running

#添加定时任务,设置如下定时任务,然后保存,就生效了
huangchaofan@ZB-PW0B470Y:~$ crontab -e
    #添加网络走查定时任务
    40 8 * * * /home/huangchaofan/jiaoben/wangluo.sh
    10 14 * * * /home/huangchaofan/jiaoben/wangluo.sh
复制代码
相关推荐
唐青枫35 分钟前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo3 天前
Linux 彻底且安全地删除文件
linux
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297914 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Web3探索者6 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo6 天前
Linux系统中网线与USB网络共享冲突
linux
Sokach10157 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
AlfredZhao8 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone