Hello! 欢迎来到小浪云!


与虚拟机交互文件的3种方式


与虚拟机交互文件的3种方式大家好,我是公众号逻辑熊猫带你玩python的小编logicpanda。今天我们来探讨如何通过三种方法与虚拟机进行文件交互。

在学习过程中,许多人选择使用虚拟机来安装Linux或其他操作系统。这不仅能直接连接,远程登录速度快,还能利用Windows的网络上网,不影响电脑的正常使用,即使操作失误也无需担心。然而,文件交互问题却是一个常见的挑战。比如,如何将本地文件传输到虚拟机中,或者从虚拟机中提取文件到本地?无论是调试跨平台代码还是传输下载好的安装包,都需要有效的解决方案。

下面,我将介绍三种在虚拟机中传输文件的方法:

使用FTP协议 使用磁盘工具 *使用SMB协议(重点)

使用FTP协议

使用FTP协议时,需要安装FTP客户端,例如Xftp、FileZilla等。也可以通过Xshell、MobaXterm等软件的FTP功能来实现。

通常,Linux操作系统的FTP服务在安装后已经配置好。如果没有,可以通过以下步骤配置:

首先,安装vsftpd服务器

sudo apt-get install vsftpd

然后,配置vsftpd.conf文件:

sudo vi /etc/vsftpd.conf

需要修改的配置如下:

anonymous_enable = NO # 不允许匿名登录 local_root = /home/username/ftp # 设置FTP上传和下载目录 local_enable = YES # 允许本地用户登录 chroot_list_enable = YES chroot_list_file = /etc/vsftpd.chroot_list # 允许vsftpd.chroot_list中的用户登录服务器 write_enable = YES # 允许上传文件到服务器

sudo vim /etc/vsftpd.chroot_list # 建立文件添加用户

将/home/username/ftp目录的写权限移除,即文件夹的拥有者不能拥有写全向。在/home/username/ftp中建立一个share文件夹。

最后,重启服务以使配置生效:

sudo /etc/init.d/vsftpd restart

使用磁盘工具

使用diskgenius、Ext2IFS等工具也是一个选项。使用DiskGenius时,需要在虚拟机关闭状态下操作。方法如下:

打开软件,选择硬盘,打开虚拟硬盘文件,例如:G:VMwareSysU16Ubuntu16.04.vmdk。打开后,可以复制文件到虚拟硬盘中。在win10上打开Linux系统的虚拟硬盘可能需要配置BIOS,而打开Windows系统的虚拟硬盘则无此问题。

使用SMB协议

在虚拟机中安装Samba软件是使用SMB协议的前提。以下是在Deepin Linux环境下的配置演示:

首先,安装Samba软件:

sudo apt-get install samba samba-common

创建一个用于文件交互的目录,例如:/home/lzc/share,并将目录权限修改为777:

sudo chmod 777 /home/lzc/share

然后,修改Samba的配置文件:

sudo vim /etc/samba/smb.conf

在文件末尾添加以下几行:

[share]     path = /home/lzc/share # 使用绝对路径     available = yes     browsable = yes     # public = yes # 不需要密码     writable = yes

为Samba创建账户:

sudo touch /etc/samba/smbpasswd sudo smbpasswd -a username

最后,重启Samba服务以使配置生效:

sudo /etc/init.d/smbd restart

在Windows中访问虚拟机共享目录,只需在资源管理器的地址栏中输入虚拟机的“”+IP地址,并输入账号密码即可。如果希望无需密码访问,可以将配置文件中的public选项打开。

这样,您就可以在网络中看到虚拟机共享的目录了。

相关阅读