在进行程序开发的过程中,我们经常要在主机与虚拟机之间传递文件,比如说,源代码位于虚拟机,而在主机下阅读或修改源代码,这里就需要使用到 「共享文件」 这个机制了。本文介绍了两种共享文件夹的实现机制: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,人工智能,等等。公众号内回复进群,邀请您进高手如云技术交流群。

Linux环境搭建 | VMware下共享文件夹的实现的更多相关文章

  1. Linux环境:VMware下windows虚拟机与linux主机进行文件共享的方法

    操作主要分两大步骤: 一.是对主机进行配置: 二.是在虚拟机上直接连接共享目录. 一.主机配置 1.打开VMware虚拟机,双击需要进行文件共享的虚拟机.如下图,双击CentOS 64位(以linux ...

  2. VMware下Linux虚拟机访问本地Win共享文件夹

    VMware下Linux虚拟机访问本地Win共享文件夹 : 访问共享文件夹的步骤如下: 1.先在本地Win创建一个需要共享到虚拟机中的共享目录,如  F:\share. 2.打开你的VMware,选择 ...

  3. VMware中linux配置1-安装VMware tool 共享文件夹

    linux:ubuntu 14 安装Linux,使用的ubuntu-14.04.1-desktop-amd64.iso 安装的,这个就不写了. 为了在linux中访问windows的目录,需要安装VM ...

  4. VMware中Linux虚拟机与Windows主机共享文件夹

    VMware下Linux虚拟机与Windows主机共享文件夹 1. 安装vm-tool 2. 开启共享文件夹 虚拟机->设置->选项->共享文件夹"右边选择"总是 ...

  5. VMware虚拟机共享文件夹问题: /mnt下没有hgfs文件夹

    在使用vmware虚拟机共享文件夹功能的时候,发现在/mnt目录下面没有hgfs文件夹,但是vmware-tool的命令vmhgfs-fuse确实存在于系统中.在使用vmhgfs-fuse建立宿主机到 ...

  6. 【菜鸟学习Linux】-第三章- Linux环境搭建-使用VMware9安装Ubuntu 12.04系统

    上一步,我们安装了VMware9虚拟机,现在我们就是用它来安装Ubuntu12.04系统,至于Ubuntu是什么,我就不废话了,大家google一下,比我讲的清楚,好了,开始干活! Ubuntu官网下 ...

  7. Linux环境搭建及基础操作

    一.Linux环境搭建 1.安装虚拟机软件(VMWare,Parallel) 虚拟机的作用:将本来不是适合当前操作系统的分区虚拟化成适合当前操作系统的分区格式 2.新建虚拟机: 类似买了一台新的电脑, ...

  8. Linux环境搭建-在虚拟机中安装Centos7.0

    最近在空闲时间学习Linux环境中各种服务的安装与配置,都属于入门级别的,这里把所有的学习过程记录下来,和大家一起分享. 我的电脑系统是win7,所以我需要在win7上安装一个虚拟机-VMware,然 ...

  9. Linux环境搭建Hadoop伪分布模式

    Hadoop有三种分布模式:单机模式.伪分布.全分布模式,相比于其他两种,伪分布是最适合初学者开发学习使用的,可以了解Hadoop的运行原理,是最好的选择.接下来,就开始部署环境. 首先要安装好Lin ...

随机推荐

  1. isinstance/type/issubclass的用法,反射(hasattr,getattr,setattr,delattr)

    6.23 自我总结 面向对象的高阶 1.isinstance/type/issubclass 1.type 显示对象的类,但是不会显示他的父类 2.isinstance 会显示的对象的类,也会去找对象 ...

  2. vijos P1848 记数问题

    自答[119ms内存456.0 KiB] #include<iostream>using namespace std;int num = 0;void judge(int n, int x ...

  3. C# Socket服务器端如何判断客户端断开求解

    Socket client //假如已经创建好了,连接到服务器端得Socket的客户端对象. 我们只要client.Poll(10,SelectMode.SelectRead)判断就行了.只要返回Tr ...

  4. VMWare虚拟机:三台虚拟机互通且连网

    虚拟机:三台虚拟机互通且连网 目录 一.虚拟机 相关软件 虚拟机安装 Linux系统安装 1) 使用三个Linux虚拟机 多台虚拟机互通且上网 1) 多台配置注意事项 2) 虚拟机软件的配置 3) W ...

  5. mac 下搭建安装 sass

    一.安装系统需要的包 安装Xcode开发工具,它将帮你安装好 Unix 环境需要的开发包 打开 App Store,搜索 Xcode,第一个就是,对了,有4个多G,网速如果不大好,就请先厕所哭会儿吧, ...

  6. git pull 出现non-fast-forward的错误

    1.git pull origin daily_liu_0909:liu_0909 出现non-fast-forward的错误,证明您的本地库跟远程库的提交记录不一致,即 你的本地库版本需要更新2.g ...

  7. 跟着阿里p7一起学java高并发 - 第18天:玩转java线程池,这一篇就够了

    java中的线程池,这一篇就够了 java高并发系列第18篇文章. 本文主要内容 什么是线程池 线程池实现原理 线程池中常见的各种队列 自定义线程创建的工厂 常见的饱和策略 自定义饱和策略 线程池中两 ...

  8. Web安全之CSRF攻击(转载)

    CSRF是什么? CSRF(Cross Site Request Forgery),中文是跨站点请求伪造.CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用户的信任, ...

  9. 【JDK】JDK源码分析-LinkedHashMap

    概述 前文「JDK源码分析-HashMap(1)」分析了 HashMap 主要方法的实现原理(其他问题以后分析),本文分析下 LinkedHashMap. 先看一下 LinkedHashMap 的类继 ...

  10. HelloDjango 系列教程:第 04 篇:Django 迁移、操作数据库

    文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 我们已经编写了博客数据库模型的代码,但那还只是 Python 代码而已,django 还没有把它翻译成数据库语言,因此实际上这 ...