跨平台开发的解决方案:
- windows和linux只保留一份源码,这份源码放在linux上
- 通过共享文件,windows访问到linux上的代码,这样VS可以直接编辑到linux上的代码
安装并配置samba
samba是实现共享的工具,samba也可以共享打印器apt-get install sambavim /etc/samba/smb.conf移动到最下面,按i进入编辑状态[code] #linux下的文件夹在windows上显示的名称path=/code #该文件夹具体的路径writeable=yes #是否可写。这里设置之后,还要在linux的文件系统设置权限browseable=yes #是否可浏览(是否能看到目录、文件结构)guest ok = yes #来访的,没有登录的用户是否可访问保存:按ESC,输入:wq保存退出pkill smbd #关闭samba的客户端smbd #再次开启smbdps #查看linux的进程,不加参数的话,只是当前客户端的进程ps -ef|grep smbd #查看smbd的进程# |表示管道,是把前面的输出传给后面(把前面的输出变成后面的输入),后面再进行处理# grep过滤,只有包含smbd的才输出
创建目录
```shell mkdir /code
查看/code目录的权限
ls -l #显示详细信息 ls -l|grep code #显示/code的详细信息 drwxr-xr-x 2 root root 4096 Jan 7 23:00 code # 上一句的打印的信息
#drwxr-xr-x显示权限情况#d表示目录,如果没有的话是文件#之后是三个字母表示一个权限:#第一个rwx表示拥有者用户(创建者)的权限#r是否有读权限#w是否有写权限#x是执行权限(在linux中所有文件都可以执行,只要有x权限)#第二个r-x是组用户的权限(有读、执行权限,没有写权限)#第三个是r-x其他人的权限(有读、执行权限,没有写权限)
root(第一个root)所属用户
root(第二个root)所属组
4096 Jan 7 23:00 创建时间
code 目录名称
使用samba共享是以默认用户进来的,属于其他用户,所以要看第三个权限r-x,这里是只读,要修改权限
【方案一】赋予权限的第一种方案
chmod 777 /code #给文件夹赋予权限,这里赋予所有人所有权限
#777是8进制数字,所以一个7即表示111。111的每一位数字对应rwx(r表示读权限,r表示写权限,x表示执行权限)#第一个7代表的是创建者的权限#第二个7代表的是组用户的权限#第三个7代表的是其他人的权限
【方案二】赋予权限的第二种方案
id nobody #查看默认用户的信息 chown nobody:nogroup /code #给目录指定用户可以访问,指定nobody这个用户,nogroup这个组可以访问code
<a name="s4R1O"></a>### 在windows上访问该文件夹1. windows键+R打开运行1. 输出虚拟机的IP地址:`\\192.168.3.69`1. 如果配置好文件权限,即可以读、写里面的权限。然后就可以开始编写程序了【为子目录也设置权限】目前`/code`路径已设置全部权限,但是它的子目录不行```shellchmod 777 * -R#chmod 777表示设置全部权限#*当前目录下的所有文件#-R子目录下的所有文件
综上,创建一个目录想要共享给windows时,在该目录下运行chmod 777 * -R即可
