在进行程序开发的过程中,我们经常要在主机与虚拟机之间传递文件,比如说,源代码位于虚拟机,而在主机下阅读或修改源代码,这里就需要使用到 「共享文件」 这个机制了。本文介绍了两种共享文件夹的实现机制:VMware自带功能及samba服务器。

1 VMware自带共享文件夹功能

这种方法很明显只能在VMware下使用,换成其它虚拟机软件,比如VirtualBox,就不适用了。当然VirtualBox也有其共享文件夹的功能,原理类似。

要使用此功能,一定要先安装VMware tools(详细请参见:手把手教你配置Linux虚拟机),安装完毕一定要重启虚拟机。

  • 1.1 打开 虚拟机 --> 设置

  • 1.2 在 「虚拟机设置」 中,选择 「选项」 标签,再点击 「共享文件夹」,然后点击右侧的 「总是启用」 ,之后再点击 「添加...」 ,添加主机上的共享目录。后面就跟着提示一步步操作即可。





  • 1.3 现在主机的共享文件夹位于 E:\share,那在虚拟机下哪里可以找到?答案是 /mnt/hgfs/share/。可做个测试:在虚拟机下/mnt/hgfs/share/下创建一个test.txt,在E:\share里可见到并可打开此文件。



2 samba服务器的搭建

SMB是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。它不受虚拟机平台的限制,不管是VMware还是VirtualBox,都可以用。实际上,samba并不依赖虚拟机,两者毫无关系。

  • 2.1 首先安装samba及smbclient:
sudo apt-get install samba
sudo apt-get install smbclient
  • 2.2 创建共享目录:
mkdir ~/share
chmod 777 ~/share
  • 2.3 修改配置文件:
sudo vim /etc/samba/smb.conf

在其后添加:

path = /home/liangxu/share
available = yes
browseable = yes
public = yes
writable = yes

  • 2.4 创建samba用户
sudo touch /etc/samba/smbpasswd
sudo smbpasswd -a liangxu

根据提示输入密码。

  • 2.5 重启samba服务器

sudo /etc/init.d/smbd restart

  • 2.6 将共享目录添加到主机中

先在我的电脑里任意位置右击,选择 「添加网络位置」 ,然后再点击下一步

选择 「选择自定义网络位置」 ,点击下一步

在下一步里,填入共享目录地址:\192.168.0.131\share

虚拟机IP地址使用ifconfig查看。

至此,samba服务器全部搭建完毕。以后在此文件夹下创建或修改文件,从主机或虚拟机上查看到的效果都是一样的。

更多精彩内容,请关注公众号良许Linux,公众内回复1024可免费获得5T技术资料,包括:Linux,C/C++,Python,树莓派,嵌入式,Java,人工智能,等等。公众号内回复进群,邀请您进高手如云技术交流群。

最新文章

  1. VS2010设置C++包含目录和库目录
  2. zabbix常用的几个key
  3. Reverse Vowels of a String
  4. xml--通过SAX解析XML
  5. Java设计模式(学习整理)----装饰模式
  6. Hadoop2.0安装
  7. WCF的简单
  8. PrintWriter返回值乱码问题
  9. JavaScript高级程序设计:第十四章
  10. Java开发笔记(六十三)双冒号标记的方法引用
  11. SUCTF 2016 : dMd
  12. java开发常用的日期格式转换工具类
  13. hdu 1711( 模式串T在主串S中首次出现的位置)
  14. request 的下载文件
  15. RHEL7安装图像化桌面
  16. [py][mx]django自带后台系统使用
  17. shiro(1) 介绍
  18. MyEclipse中修改servlet模板
  19. IE 8-不支持 placeholder 解决方法
  20. (转)Linux NUMA引发的性能问题

热门文章

  1. 解决 mysql多表联合查询时出现的分页问题
  2. TensorFlow笔记-可视化Tensorboard
  3. Redis(一)--- 概述
  4. 原 docker 安装使用 solr
  5. 《C# 语言学习笔记》——定义属性
  6. 用 | 和 & 简化查询
  7. 基于SDN网络的负载均衡研究与实现
  8. ~~面向对象进阶——__name__=="__main__"~~
  9. 二进制文件安装k8s所需要的证书服务
  10. 微信小程序中悬浮窗功能的实现(主要探讨和解决在原生组件上的拖动)