环境
ubuntu 14.04; vmware 14.1.3; windows10 或 centos 7; vmware 14.1.3; windows10
经过测试centos的操作与Ubuntu基本一致,本文以Ubuntu为实验对象
资源下载
ubuntu 14.04 提取码:bkr3 centos 7 提取码:fszb vmware 14.1.3 提取码:dkqc
环境搭建
安装系统和搭建网路环境此文不再介绍
windows 端

把windows图中标注的路径挂载到Ubuntu系统的 /opt/works 文件夹下。windows上需要做的工作就是建立这样一个文件路径,将来方便存放代码或程序。
vmware 端

介绍一下vmware的列表目录,此为作者习惯,老司机不必关注 Centos-7-Base 是 centos系统的母系统,其他centos系统都是在此系统基础上克隆而来,这样可以大大降低测试系统的安装时间和宿主系统的磁盘空间,ubuntu系统也是此法。 创建
开启文件共享 编辑虚拟机设置》选项》共享文件夹 
系统端(centos 或 ubuntu)
 开启了文件夹共享,虚拟机中的系统将自动安装以上软件。这些软件用于操作系统与vmware通信,我们只关注vmware-hgfsclient
 已经可以查询到共享文件夹,但此时还不能访问,还需要有一个挂载过程。 1、下载Vmware tools
这里还需要操作一下虚拟机,按图中过程安装VMware Tools,因为我之前安装过所以这里提示重装
 2、系统内安装Vmware Tools
下载完成后虚拟机将会以光盘的形式将 VMware Tools挂载到操作系统的设备列表中,如果下载不了请根据自己的系统百度下载相应包。 linux 系统中基于一切皆文件的思想,光驱设备也是一个文件,位置在 /dev/cdrom 要想读取光盘中的内容需要将光盘挂载到其他文件夹中
sudo mkdir /mnt/cdrom/
sudo mount /dev/cdrom /mnt/cdrom/
sudo cp -rf /mnt/cdrom/ ~/Downloads/

执行 sudo .\run_upgrader.sh 将会产生 vmhgfs-fuse 命令,该命令用于挂载共享文件夹
sudo mkdir /mnt/hgfs
sudo vmhgfs-fuse .host:/ /mnt/hgfs/
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=1000 -o gid=1000 -o umask=022
vmhgfs-fuse 命令的使用可以通过 vmhgfs-fuse --help 查看 关于 -o uid=1000 -o gid=1000 -o umask=022 这几个参数代表的意义其中uid和gid分别代表将要分配所属的用户id和组id获取命令 id -a 用户名

umask=022 代表权限的掩码,类似于TCP/IP中的地址掩码
rwxr-xr-x = 0755 = 0777 - 022

结语
到此windows共享文件的挂载过程基本结束,后期可以从win端借助各种ide编译代码,然后通过Linux平台编译运行,这有助于不太擅长使用vi、vim等linux系统下编辑器的程序员开发基于linux平台的程序。 还有一点需要注意,重启后文件挂载将不再有效,因此可以将挂载过程存入启动文件中

这样写会有个问题每次打开命令终端都会提示输入密码,所以最好的办法是将命令写入能以超级管理员运行的启动文件,比如/etc/profile /etc/init.d/rc.local 建议用 rc.local
|