使用WSL在Windows下搭建高效的Linux开发环境
使用WSL在Windows下搭建高效的Linux开发环境
WSL简介
WSL全称是Windows Subsystem for Linux。
The Windows Subsystem for Linux lets developers run Linux environments -- including most command-line tools, utilities, and applicati -- directly on Windows, unmodified, without the overhead of a virtual machine.
简单的说 WSL就是在Windows上无需虚拟机就可以搭建一套Linux开发环境。
使用 WSL 的好处是:
- 快速高效地开启和运行 Linux 环境,比较而言:虚拟机的方式占用资源多而且打开慢,docker方式在Windows上异常麻烦,远程到linux环境开发的方式又得依赖成熟的开发工具且操作不够便捷。
- 通过 Windows 商店 选择多种 Linux 发行版,目前支持 Ubuntu、openSUSE Leap 42、 SUSE Linux Enterprise Server。
- 使用 Linux 命令行工具可以更高端地进行windows文本处理,例如 sed、awk 等。
- 使用 Linux 内置包管理器安装一些软件,例如 git、redis 等,基本上一条命令就能安装好。
WSL安装
开启WSL功能
方法一
控制面板 -> 程序 -> 启用或关闭 Windows 功能 -> 勾选 适用Linux的Windows子系统 (我是秋季创造者更新版本,我记得之前低版本可能是 beta 版本)
方法二
通过 PowerShell(管理员身份运行) 开启:
代码语言:javascript代码运行次数:0运行复制Enable-WindowsOptionalFeature -Online -Featureame Microsoft-Windows-Subsystem-Linux
然后按提示重启。
安装 Linux 发行版
打开 window商店,搜索并选择合适的 Linux 发行版安装,比如 Ubuntu:
运行
上一步安装Ubuntu后,可以直接像打开一个windows应用程序一样运行Ubuntu了,系统首次启动会设置账户和密码:
然后就进入自由的linux世界了,首选要注意下windows几个盘符挂载的路径:
比如可以cd /mnt/e
进入Windows E盘文件夹。
搭建环境
设置常用 alias
代码语言:javascript代码运行次数:0运行复制vim ~/.bashrc
代码语言:javascript代码运行次数:0运行复制alias cdc='cd /mnt/c/'
alias cdd='cd /mnt/d/'
alias cde='cd /mnt/e/'
alias tailf='tail -f'
代码语言:javascript代码运行次数:0运行复制source ~/.bashrc
apt设置
备份:
代码语言:javascript代码运行次数:0运行复制cp /etc/apt/sources.list /etc/apt/sources.list.bak
代码语言:javascript代码运行次数:0运行复制vim /etc/apt/sources.list
修改内容:
代码语言:javascript代码运行次数:0运行复制deb / trusty main restricted universe multiverse
deb / trusty-security main restricted universe multiverse
deb / trusty-updates main restricted universe multiverse
deb / trusty-proposed main restricted universe multiverse
deb / trusty-backports main restricted universe multiverse
deb-src / trusty main restricted universe multiverse
deb-src / trusty-security main restricted universe multiverse
deb-src / trusty-updates main restricted universe multiverse
deb-src / trusty-proposed main restricted universe multiverse
deb-src / trusty-backports main restricted universe multiverse
更新软件列表:
代码语言:javascript代码运行次数:0运行复制apt-get update
安装常用工具
代码语言:javascript代码运行次数:0运行复制# git
apt-get install git -y
# redis
apt-get install redis-server -y
service redis
设置windows右键菜单
新建txt文件:
代码语言:javascript代码运行次数:0运行复制Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHIE\SOFTWARE\Classes\Directory\background\shell\lxss_shell]
@="WSL Here"
"Icon"="\"%USERPROFILE%\\icon.ico\""
[HKEY_LOCAL_MACHIE\SOFTWARE\Classes\Directory\background\shell\lxss_shell\command]
@="\"c:\\Windows\\System2\\\""
保存为.reg文件,双击运行即可:
icon文件可以右键下载:
开启SSH密码登录
service --full-restart
然后就可以使用xshell等更专业的Terminal玩耍wsl了:
WSL服务自启动
创建启动脚本:
进入任意 WSL 发行版中,创建并编辑文件:/etc/init.wsl
代码语言:javascript代码运行次数:0运行复制#! /bin/sh
/etc/init.d/cron $1
/etc/init.d/ $1
里面调用了我们希望启动的三个服务的启动脚本,设置权限为可执行,所有者为 root,这时候可以通过:
代码语言:javascript代码运行次数:0运行复制sudo /etc/init.wsl [start|stop|restart]
来启停我们需要的服务,在 Windows 中,开始-运行,输入:
代码语言:javascript代码运行次数:0运行复制shell:startup
按照你 WSL 使用的 Linux 发行版创建启动脚本,比如我创建的 Debian.vbs 文件:
代码语言:javascript代码运行次数:0运行复制Set ws = CreateObject("Wscript.Shell")
ws.run "wsl -d debian -u root /etc/init.wsl start", vbhide
这个脚本就会在你登陆的时候自动在名字为 "debian" 的 wsl 发行版中执行 /etc/init.wsl 启动我们的服务了,如果你用的是 ubuntu18.04 的发行版,那么修改上面脚本里的 debian 为 ubuntu1804.vbs:
代码语言:javascript代码运行次数:0运行复制Set ws = CreateObject("Wscript.Shell")
ws.run "wsl -d Ubuntu-18.04 -u root /etc/init.wsl start", vbhide
而如果你不知道自己的 WSL 发行版叫做什么名字,可以用在windows cmd中wsl -l
或者在linux系统中cat /etc/os-release
查看。
然后,WSL就会随着Windows系统自启动了。
WSL 中可以开启很多有用的服务,你可以按需删改 /etc/init.wsl ,但没必要塞很多东西进去影响你的启动速度,比如 mysql/mongodb 这些重量级服务,需要用的时候再开启。
一般d和crond够了。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2021-07-01,如有侵权请联系 cloudcommunity@tencent 删除服务脚本开发环境linuxwindows#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上一篇:两道经典的MySQL面试题
下一篇:后台开发术语大全
推荐阅读
留言与评论(共有 20 条评论) |
本站网友 徐州二手房信息 | 17分钟前 发表 |
安装 Linux 发行版打开 window商店 | |
本站网友 几多欢喜几多愁 | 17分钟前 发表 |
unmodified | |
本站网友 金鼎智赢 | 5分钟前 发表 |
在 Windows 中 | |
本站网友 新型艾滋病 | 0秒前 发表 |
代码语言:javascript代码运行次数:0运行复制apt-get update 安装常用工具代码语言:javascript代码运行次数:0运行复制# git apt-get install git -y # redis apt-get install redis-server -y service redis设置windows右键菜单新建txt文件:代码语言:javascript代码运行次数:0运行复制Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHIE\SOFTWARE\Classes\Directory\background\shell\lxss_shell] @="WSL Here" "Icon"="\"%USERPROFILE%\\icon.ico\"" [HKEY_LOCAL_MACHIE\SOFTWARE\Classes\Directory\background\shell\lxss_shell\command] @="\"c | |
本站网友 去眼袋效果好的 | 1分钟前 发表 |
vbhide而如果你不知道自己的 WSL 发行版叫做什么名字 | |
本站网友 五毒是什么 | 26分钟前 发表 |
startup按照你 WSL 使用的 Linux 发行版创建启动脚本 | |
本站网友 德拉维多瓦 | 23分钟前 发表 |
例如 sed | |
本站网友 新闻发布 | 16分钟前 发表 |
本文参与 腾讯云自媒体同步曝光计划 | |
本站网友 南乐二手房出售 | 30分钟前 发表 |
WSL 中可以开启很多有用的服务 | |
本站网友 广东亿龙电器股份有限公司 | 12分钟前 发表 |
without the overhead of a virtual machine. 简单的说 WSL就是在Windows上无需虚拟机就可以搭建一套Linux开发环境 | |
本站网友 锦纶中学 | 27分钟前 发表 |
WSL就会随着Windows系统自启动了 | |
本站网友 永兴二手房出售 | 19分钟前 发表 |
例如 git | |
本站网友 飞牛网 | 29分钟前 发表 |
双击运行即可: icon文件可以右键下载:开启SSH密码登录代码语言:javascript代码运行次数:0运行复制service --full-restart然后就可以使用xshell等更专业的Terminal玩耍wsl了: WSL服务自启动创建启动脚本:进入任意 WSL 发行版中 | |
本站网友 新加坡航展 | 8分钟前 发表 |
安装 Linux 发行版打开 window商店 | |
本站网友 财达证券下载 | 21分钟前 发表 |
使用 WSL 的好处是:快速高效地开启和运行 Linux 环境 | |
本站网友 马鞍山房产信息网 | 10分钟前 发表 |
设置权限为可执行 | |
本站网友 白鹿公园 | 22分钟前 发表 |
without the overhead of a virtual machine. 简单的说 WSL就是在Windows上无需虚拟机就可以搭建一套Linux开发环境 | |
本站网友 今日老河口 | 1分钟前 发表 |
那么修改上面脚本里的 debian 为 ubuntu1804.vbs:代码语言:javascript代码运行次数:0运行复制Set ws = CreateObject("Wscript.Shell") ws.run "wsl -d Ubuntu-18.04 -u root /etc/init.wsl start" | |
本站网友 hybris | 17分钟前 发表 |
设置权限为可执行 |