大家好,我是公众号逻辑熊猫带你玩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选项打开。
这样,您就可以在网络中看到虚拟机共享的目录了。