很多公司开发用的操作系统是 windows,但 windows 的终端实在难用。win10 发布初期就集成了 linux 子系统,当时还是 beta 版,目前(2018-09-20,我当前 windows 版本号是 1803,操作系统版本是 17134.285)beta 标志已经取消,这表明已经相对成熟了。

所以想试下 ubuntu 的终端,这样就可以集成 oh-my-zsh 了(集成 oh-my-zsh 的终端超级好用啊,不管主题还是各种操作)。虽然初衷仅仅是想使用 ubuntu 的终端,但配置到后期发现完全可以将开发环境需要的软件(比如前端使用的 node,npm 等等)安装到 ubuntu 中,这样在命令行中的开发体验和直接使用 ubuntu 基本相同。从这方面讲,windows 的开发体验也不再那么不堪。

相当于借助 Ubuntu 的终端管理 windows 上的资源。

先上效果图,下面介绍如何配置。

1. 配置 linux 的终端

这是最重要的一步,配置好终端,就成功了一半。

1.1 开启适用于 Linux 的 Windows 子系统

1.1.1 前期工作

首先,win10 版本要 1709 以上。

然后前往 “启用或关闭 Windows 功能”,将 “适用于 Linux 的 Windows 子系统” 打勾,重启生效。

如何进入“启用或关闭 Windows 功能”不同版本有差异,1803 是 “win + x” 选择 “应用和功能”,点击面板右侧 “程序和功能”,然后在面板左侧可以看到 “启用或关闭 Windows 功能”。

1.1.2 安装 linux

打开 “Microsoft Store” 搜索对应的 Linux 应用进行安装,这里我选择的是 Ubuntu(没写版本号的 Ubuntu 安装后查看版本号cat /etc/issue显示为 Ubuntu 18.04.1 LTS)。

安装成功后无需重启,点击“开始”,搜索 “bash”,或者 “win + r” 输入 “bash” 就可以启动 Ubuntu 下的终端了。

1.2 配置 zsh

配合 zsh 可以扩展 Ubuntu 终端的功能,比如,历史纪录、tab 目录选择、git 别名、自动添加sudo等。

1.2.1 安装 zsh

使用 ubuntu 的apt-get命令进行安装。

sudo apt-get install zsh

通过zsh --version可查看是否安装成功。

1.2.2 配置 zsh 为默认终端

在用户目录~下找到.bash_profile,如果没有就建一个,当然这是个隐藏的文件,需要ls -a来查看。打开它,然后在末尾加上:

exec zsh
source .zshrc

1.2.3 安装 oh-my-zsh

zsh 配置本身很繁琐,oh-my-zsh 可以更方便的管理 zsh 配置,集成了各种插件、主题。

通过下面命令进行安装:

wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

1.2.3 激活/安装插件

oh-my-zsh 插件分本身集成的插件(在目录~/.oh-my-zsh/plugins下面)和需要自己下载的插件两部分。

如果是本身继承的,直接在~/.zshrc中激活就好:

# 将需要激活的插件名写在小括号中
plugins=(git sudo)

如果是非本身集成的,除了需要在~/.zshrc中激活,还需要将插件下载到目录~/.oh-my-zsh/custom/plugins下面

除了使用内置的 git 和 sudo,我还下载了 zsh-syntax-highlighting 和 zsh-autosuggestions:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

NOTE:

如果下载完第三方插件出现了权限问题,可以在.zshrc里引入 oh-my-zsh 之前加入ZSH_DISABLE_COMPFIX=true解决:

# authority,在引入 oh-my-zsh 之前加入
ZSH_DISABLE_COMPFIX=true# 这里是引入 oh-my-zsh
source $ZSH/oh-my-zsh.sh

1.3 安装 cmder

为什么还要安装 cmder?上面配置完终端的字体还不好看,通过配置 cmder 可以使终端显示的更漂亮。

具体安装配置可参考这篇文章 cmder 安装及配置,这里需要说明的是怎么配置 cmder 默认启动 Ubuntu 终端:

通过 “win + alt + p” 打开设置,然后在 “startup” 中选中 “Command line” 添加参数%windir%\system32\bash.exe ~即可。

1.4 其他坑

  • 对于 Ubuntu 的终端来说,windows 的硬盘相当于挂载在 ubuntu 系统下,所以切换盘符时需要在前面加mnt,比如,从 C 盘切到 E 盘:
# 当前 C 盘,切到 E 盘
cd /mnt/e/
  • 在终端中使用代理

终端本身不走系统代理,如果想通过终端访问墙外资源,在~/.zshrc中添加下面内容:

# proxy list
alias proxy='export http_proxy=socks5://127.0.0.1:1080; export https_proxy=socks5://127.0.0.1:1080'
alias unproxy='unset http_proxy; unset https_proxy'

通过在终端输入命令proxy开启代理,通过unproxy关闭代理。

我这里使用了 shadowsocks,可以通过curl ip.cn命令判断代理是否开启。

  • 如果在 Ubuntu 中安装了某个软件不能正确执行,比如 npm,将 windows 上对应的软件删掉再试下。

2. 安装开发软件

其实和原生 Ubuntu 安装软件一致,这里以安装 node,npm,vue-cli 为例介绍:

安装之前可以先更新下包资源:sudo apt-get update

2.1 安装 node

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

具体参考:install Ubuntu:Debian and Ubuntu based Linux distributions

2.2 安装 npm 及其他 npm 包

npm 需要单独安装

sudo apt-get install npm

安装其他 npm 包就是正常套路了,比如:

sudo npm i cnpm -g
cnpm i -g vue-cli

参考资料

WIN10 下搭建一个 linux 环境(ubuntu+cmder+oh-my-zsh)
Github:zsh-syntax-highlighting how to install
Mac OSX 终端走 shadowsocks 代理

在 Win10 中配置 Linux 开发环境相关推荐

  1. eclipse配置python开发环境_Eclipse中配置python开发环境详解

    Eclipse中配置python开发环境详解 1.下载python安装包.python-2.6.6.msi.并安装. 默认python会安装在C:\Python26下,查看环境变量,如果没有在path ...

  2. QT - QT中配置MSVC编译环境 以及 VS中配置QT开发环境

    本文主要记录一下如何在 QT5.14.2 中配置 MSVC2017 构建套件,以及在VS2017中配置QT的开发环境.开发环境为 Win10 +  QT5.14.2 + Visual Studio 2 ...

  3. eclipse中配置c++开发环境 Eclipse + CDT + MinGW

    转自eclipse中配置c++开发环境 Eclipse + CDT + MinGW 基本框架:Eclipse + CDT + MinGW 背景知识: CDT:CDT 是完全用 Java 实现的开放源码 ...

  4. _用WSL,MobaXterm,Cmder配置linux开发环境

    离不开Windows的理由很多,作为后端开发需要使用linux的情况也很多,双系统总归是不方便,而且linux下的GUI体验也没用Win 10好. 如果使用虚拟机,那么文件交换和网络等各种问题也需要解 ...

  5. Deepin / UOS 中配置 DTK 开发环境

    文章目录 简版教程 准备 开启开发者模式 配置DTK 开发环境 验证 验证 C++ 开发环境 配置是否成功: 验证 DTK 开发环境 配置是否成功: 验证其它项目 命令配置更新 个人习惯 系列地址: ...

  6. IDEA中配置hadoop开发环境

    IDEA中整合hadoop开发环境 前言: hadoop程序运行在分布式环境下,运行调试MapReduce只需要对应的hadoop相应的依赖jar包就可以,下面以是在伪分布模式下hadoop程序的开发 ...

  7. windows 中配置 Java 开发环境

    配置 Java 开发环境 配置 Java 开发环境 第一步:找到我们需要安装的jdk8对应的安装软件jdk-8u74-windows-x64.exe *注意事项*: 在安装软件前使用cmd命令查看电脑 ...

  8. 在Visual Studio Code中配置GO开发环境

    一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github ...

  9. mac java偏好设置_在 Mac中配置Java开发环境

    最近买了一台mac pro,晚上在家写java,在配置环境的时候碰到很多问题,现在总结出来,提供给大家. 1.配置Tomcat 1.下载: 从apache官网(http://tomcat.apache ...

最新文章

  1. 实现Windows Phone、Android和iOS平台的统一硬件访问
  2. HDU - 1151 Air Raid(最小路径覆盖-二分图最大匹配)
  3. 智能路由器-OpenWRT 系列四 (挂载移动设备)
  4. css中的伪类与伪元素的区别
  5. sqlServer 如何查看数据库日志文件的大小
  6. php手机网页_使用PHPCMS搭建wap手机网站
  7. 普元eos根据查询条件导出excel表格
  8. 直播系统源码开发经验分享
  9. Systen类、Runtime类、Math类、Random类、包装类
  10. cad详图怎么画_CAD的图框应该怎么画? - CAD自学网
  11. AtCoder Grand Contest 007题解
  12. 【Scratch】青少年蓝桥杯_每日一题_3.01_画莲花
  13. (Android) 如何使用HOOK实现动态注入以及自动化操作
  14. json 转 实体对象 报解析错误
  15. 【CSS】CSS画矩形、圆、半圆、弧形、半圆、小三角、疑问框
  16. 我们这么努力到底为了什么
  17. 蝴蝶展翅鸿蒙云飞,关于蝴蝶的伤感句子 开辟鸿蒙,谁为情种?都只为风月情浓...
  18. 漫画:什么是 “跳表” ?
  19. Pycharm2018.2永久破解
  20. centos7如何安装视频播放器

热门文章

  1. python实现共轭梯度算法(含误差与运算次数的折线图)
  2. python 连接oracle学习
  3. 计算机系解说词,计算机室解说词
  4. 栈的pop和peek_从堆栈中移除项目,而不使用pop、peek、push
  5. 订餐系统项目中OrderForm、OrderDTO、OrderMaster和ResultVO的区别
  6. 安卓学习笔记23:常用控件 - 网格视图与图像切换器
  7. Java案例:HttpClient演示
  8. 3.过滤——高斯滤波器之Matlab、Octave实战、保持两个高斯直行_5
  9. python基础语法实验要求_Python基础语法-关于条件
  10. 2017.10.17 蜘蛛难题 思考记录