windows下做开发确实有些不方便,比如python、ruby什么的都要自己装,不过这还是小事情。有一次想安装node-sass,windows下报错缺少MSBuild什么的,可能需要装一个vs解决,不过估计没有人愿意装那么大的东西,另外如果你想安装node-canvas的话可能准备工作会更多。。。不过肯定有人像我一样买不起Mac(哭)而且也习惯了windows系统,但又想方便的在linux环境下开发。如何是好。。。

最开始只是在电脑虚拟机上安装了Ubuntu,开发的时候切换到Ubuntu,不过依然很低效,有天早晨如厕时浏览前端早读课的文章的时候(前端早读课君很勤劳,每天一篇好文,推荐关注前端早读课公众号),那篇文章写到了下面一段话:

文章只是这么说了一句,但没有详细解释怎么做,我对linux也不熟悉,就把这句话先保存了下来,今天突然想起来,用了一下午的时候到处搜索,终于鼓捣的差不多。

在开始之前,首先确保虚拟机下安装了linux。

Samba

Samba可以让windows和其他类unix系统之间进行资源的共享,更详细的可以查看其维基百科的页面:https://zh.wikipedia.org/zh-cn/Samba。Ubuntu上安装Samba很简单,一条命令即可:

$ sudo apt-get install samba

然后,你需要创建一个文件夹作为共享的目录,比如在home目录下创建share目录:

$ sudo mkdir -p /home/share

这时候还需要修改目录权限,将其改为777,这样共享到windows之后就可以对share文件夹进行读写操作。

$ sudo chmod 777 /home/share

不过需要注意的是,上述命令只是讲share目录的权限设置为可读可写,但其子目录或者其子文件仍然需要设置,可以使用通配符继续操作:

$ sudo chmod 777 /home/share/*/*

这样就不会再windows下弹出恼人的权限不够的提示了。

接下来需要修改配置文件

一般来说,修改之前先备份默认的配置:

$ sudo cp /etc/samba/smb.conf /etc/samba/smb.default.conf

在 /etc/samba/smb.conf 末尾添加:

[share]
path = /home/share
browseable = yes
writable = yes
comment = samba share

path是指共享的目录,browseable表示目录可读,writeable表示目录可写,comment是标注。

上面的[share]表示在windows资源管理器地址栏里输入//host/share,就可以访问。

之后需要创建共享的账户,windows下需要通过这个账户登录进来。

不过首先需要创建一个

$ sudo groupadd yourusername -g 6000
$ sudo useradd yourusername -u 6000 -g 6000 -s /sbin/nologin -d /dev/null

接下来创建一个Samba用户,用户名和上面创建的账户一致:

$ sudo smbpasswd -a yourusername

会让你输入密码和确认。

完成这一系列的工作后,启动Samba

$ sudo service smbd restart

或者:

$ sudo /etc/init.d/samba restart

在完成配置之后,可以在Ubuntu下测试,需要安装Samba的客户端:

$ sudo apt-get install smbclient
$ smbclient -L //localhost/share

成功后就可以在windows的网络邻居下看到该目录了。可能需要打开网络共享。

这样,我们就可以在windows下操作这个来自Linux的目录了。要使用linux的环境,还要下一步。

SSH

Ubuntu默认没有安装openssh-server,手动安装:

$ sudo apt-get install openssh-server

安装后启动服务:

$ sudo /etc/init.d/ssh start

或者:

$ sudo service ssh start

默认端口22。

我们要在windows下通过ssh连接到Ubuntu下,大家比较推荐winscpputty,这里我只使用putty就好了。

下载安装包,一路next就可。。

启动putty,填写IP、端口,选择SSH,点击open:

在windows下使用linux的开发环境-LMLPHP

弹出命令行,填写你要登录的用户和密码,就连接上了,你就可以尽情的使用linux下的命令玩耍了。

写在后面

至此完成了windows下操作文件linux下开发的工作。由于对linux不熟悉,整整一下午的时间一边搜索一边记录。

明天又上班了~

05-06 17:13