前言

最近又得在windows上开发py,从windows到,linux再到osx,现在又回到win,简直就是地狱体验,特别是cmd调出来像没有一样,但是还是有办法在win上借道linux来开发的,答案就是虚拟机。由于只是想讲办法,所以具体配置和安装请自己搜索,很容易搜出来的,这里就不赘述了。

虚拟机

windows上虚拟机应该有挺多选择的,vmware,virtualbox或者hyper-v,我用的是vmware,然后随便上网找了个激活码。再就是装了个centos6,跑起来后,确认ssh服务开启情况和端口开放情况(我比较喜欢用nmap确认端口开放情况),确认虚拟机当前ip,还有把iptables服务关掉,因为默认centos6只是开放22端口,我们给自己用,所以没必要开启iptables,索性关掉iptables服务。

模拟终端

windows因为本身cmd垃圾,所以涌现了一堆cmd增强型工具,比如secureCRT/Putty/xshell/cmder等等一大堆,我选了最大众的xshell,当然有现在已经有很多在推荐cmder了,但是现在这套方案我是听同事说的,不然我就要在虚拟机里面敲命令,而忘记虚拟机也可以像云服务器那样用ssh登陆的了,所以还是和他保持一致

怎么玩?

接着打开xshell,连接虚拟机ip,如果虚拟机的ssh服务端口还是开在默认的22端口,那么端口填22就好了,再填入虚拟机上的用户名和密码,登陆后就可以像操作云主机一样操作你的本地虚拟机了,这样你就在windows上有了个centos(linux)环境了

共享代码

你会说在linux里面调试代码可以,但是不喜欢在cli上用vim写代码,还是希望在windows上写代码,那么就可以用虚拟机的共享文件夹的功能,把你要共享的代码目录设置好就可以了,然后你就可以xshell登进虚拟机的centos再访问共享的代码目录,在win上用sublime或者其他什么pycharm/Atom修改代码目录内容,在虚拟机内也能访问到这种修改喔~

总结

上面这一套共享代码+虚拟机+模拟终端ssh登陆的办法,简直为我这种已经长期宅在unix-like系统上,离不开命令行的开发者带来了福音,有时候用windows是无奈,但是也有可以减少windows上开发的痛苦的方法滴~毕竟就算装上了windows,但是它还是有计算的资源的!

P.s.还是得抓紧时间抱一台MBP回来啊,去哪哪都方便~

sz

2018.07.05更新:
windows下面虽然说开了一个虚拟机,也共享了一个文件夹,但是传输文件还是不是很方便,比如我的共享文件夹是~/pc/,但是有一些系统文件比如/etc/hosts我想拿出来,我就要先挪到~/pc/下,然后再在win中把文件拷贝出来,不要太麻烦喽!!

偶然的机会知道一个叫sz的工具,可以直接sz /etc/hosts,这样就能直接把/etc/hosts文件下载回本地,还可以选择下载目标目录,而不用从虚拟机搬两次甚至三次才出来,而且还支持远程服务器,比scp方便太多了,如果是win下用比如xshell之类终端登上远程服务器,那么要下载一个文件还得scp,但是用sz就直接选择windows系统目录,点击确认马上下载,不要太方便!!

# 下面命令可以同时下载rz和sz命令
# For RetHat/CentOS
sudo yum install lrzsz
# For Debian/Ubuntu
sudo apt-get install lrzsz

P.s. 1.rz和sz命令只有windows的Xshell,SecureCRT等支持ZMODEM的客户端才行,亲测本地ubuntu不行 2.rz是本地上传到服务器,而sz是下载回本地