
Ubuntu虚拟机如何共享文件:使用共享文件夹、使用SSH和SFTP协议、使用NFS(网络文件系统)、通过SMB/CIFS协议共享文件。下面将详细描述其中一种方法——使用共享文件夹。
共享文件夹是最常用的虚拟机文件共享方法之一。它允许主机和虚拟机之间轻松地传输文件,而无需通过网络连接。你可以通过配置虚拟机软件(如VirtualBox或VMware)来设置共享文件夹。
一、配置共享文件夹
1、使用VirtualBox设置共享文件夹
VirtualBox是一个流行的虚拟机软件。下面是如何在VirtualBox中设置共享文件夹的步骤:
-
安装VirtualBox Guest Additions:
- 首先,启动你的Ubuntu虚拟机。
- 在VirtualBox的菜单栏中,选择“设备”>“插入Guest Additions CD映像”。
- 这将挂载一个虚拟光盘。打开终端,输入以下命令来安装Guest Additions:
sudo apt-get updatesudo apt-get install build-essential dkms linux-headers-$(uname -r)
sudo /media/cdrom/VBoxLinuxAdditions.run
- 完成后,重启虚拟机。
-
创建共享文件夹:
- 在主机操作系统上,创建一个你希望与虚拟机共享的文件夹。
- 右键点击VirtualBox主窗口中的虚拟机实例,选择“设置”。
- 进入“共享文件夹”选项卡,点击“添加新的共享文件夹”图标。
- 浏览并选择你刚创建的文件夹,勾选“自动挂载”和“固定分配”选项。
-
挂载共享文件夹:
- 启动Ubuntu虚拟机,打开终端。
- 创建一个挂载点:
sudo mkdir /mnt/sharedfolder - 将共享文件夹挂载到创建的挂载点:
sudo mount -t vboxsf sharedfolder /mnt/sharedfolder - 现在,你可以在/mnt/sharedfolder目录中访问主机上的文件。
2、使用VMware设置共享文件夹
VMware是另一个广泛使用的虚拟机软件。以下是如何在VMware中设置共享文件夹的步骤:
-
安装VMware Tools:
- 启动你的Ubuntu虚拟机。
- 在VMware的菜单栏中,选择“VM”>“安装VMware Tools”。
- 这将挂载一个虚拟光盘。打开终端,输入以下命令来安装VMware Tools:
sudo apt-get updatesudo apt-get install open-vm-tools open-vm-tools-desktop
- 完成后,重启虚拟机。
-
创建共享文件夹:
- 在主机操作系统上,创建一个你希望与虚拟机共享的文件夹。
- 右键点击VMware主窗口中的虚拟机实例,选择“设置”。
- 进入“选项”选项卡,选择“共享文件夹”,然后点击“添加”。
- 浏览并选择你刚创建的文件夹,勾选“启用共享文件夹”选项。
-
访问共享文件夹:
- 启动Ubuntu虚拟机,打开文件管理器。
- 在侧栏中,找到“共享文件夹”选项,点击进入。
- 你现在可以访问主机上的共享文件夹。
二、使用SSH和SFTP协议
1、设置SSH服务器
SSH(Secure Shell)是一种安全的网络协议,常用于在不安全的网络上进行安全的数据通信。首先,你需要在Ubuntu虚拟机上安装并配置SSH服务器。
-
安装SSH服务器:
sudo apt-get updatesudo apt-get install openssh-server
-
启动SSH服务:
sudo systemctl start sshsudo systemctl enable ssh
-
检查SSH服务状态:
sudo systemctl status ssh -
获取虚拟机IP地址:
ifconfig在输出中查找你的虚拟机IP地址,例如
192.168.0.100。
2、使用SFTP客户端
SFTP(SSH File Transfer Protocol)是通过SSH协议进行文件传输的一种安全方法。你可以使用各种SFTP客户端来连接到你的Ubuntu虚拟机并传输文件。
-
使用FileZilla:
- 下载并安装FileZilla客户端。
- 打开FileZilla,在“主机”字段中输入虚拟机的IP地址,在“用户名”和“密码”字段中输入你的Ubuntu用户凭据,端口保持默认的22。
- 点击“快速连接”,你现在可以在FileZilla的界面中拖放文件进行传输。
-
使用命令行SFTP:
- 打开主机操作系统的终端。
- 输入以下命令以连接到虚拟机:
sftp username@192.168.0.100 - 输入密码后,你将进入SFTP会话。可以使用
put命令上传文件,get命令下载文件,例如:sftp> put localfile /remote/pathsftp> get /remote/path localfile
三、使用NFS(网络文件系统)
NFS是一种分布式文件系统协议,允许不同系统之间共享目录和文件。它适用于需要频繁访问共享资源的环境。
1、设置NFS服务器
-
安装NFS服务器:
sudo apt-get updatesudo apt-get install nfs-kernel-server
-
配置NFS共享目录:
- 编辑
/etc/exports文件:sudo nano /etc/exports - 添加以下行,以共享目录:
/path/to/sharedfolder 192.168.0.0/24(rw,sync,no_subtree_check)其中
192.168.0.0/24表示允许访问共享目录的网络范围。
- 编辑
-
启动NFS服务:
sudo systemctl start nfs-kernel-serversudo systemctl enable nfs-kernel-server
2、挂载NFS共享目录
-
安装NFS客户端:
sudo apt-get install nfs-common -
创建挂载点并挂载共享目录:
sudo mkdir /mnt/nfs_sharedfoldersudo mount 192.168.0.1:/path/to/sharedfolder /mnt/nfs_sharedfolder
其中
192.168.0.1是NFS服务器的IP地址。 -
自动挂载(可选):
- 编辑
/etc/fstab文件:sudo nano /etc/fstab - 添加以下行,以便每次启动时自动挂载NFS共享目录:
192.168.0.1:/path/to/sharedfolder /mnt/nfs_sharedfolder nfs defaults 0 0
- 编辑
四、通过SMB/CIFS协议共享文件
SMB(Server Message Block)是一个网络文件共享协议,通常用于Windows网络环境。CIFS(Common Internet File System)是SMB协议的一个版本。它们都可以在Linux系统上使用。
1、设置SMB服务器
-
安装Samba:
sudo apt-get updatesudo apt-get install samba
-
配置Samba共享:
- 编辑
/etc/samba/smb.conf文件:sudo nano /etc/samba/smb.conf - 在文件末尾添加以下内容,以共享目录:
[sharedfolder]path = /path/to/sharedfolder
browsable = yes
read only = no
create mask = 0755
- 编辑
-
创建Samba用户:
sudo smbpasswd -a username -
重启Samba服务:
sudo systemctl restart smbd
2、挂载SMB共享目录
-
安装CIFS工具:
sudo apt-get install cifs-utils -
创建挂载点并挂载共享目录:
sudo mkdir /mnt/smb_sharedfoldersudo mount -t cifs //192.168.0.1/sharedfolder /mnt/smb_sharedfolder -o username=username,password=password
其中
192.168.0.1是SMB服务器的IP地址。 -
自动挂载(可选):
- 编辑
/etc/fstab文件:sudo nano /etc/fstab - 添加以下行,以便每次启动时自动挂载SMB共享目录:
//192.168.0.1/sharedfolder /mnt/smb_sharedfolder cifs username=username,password=password 0 0
- 编辑
五、使用FTP协议
FTP(File Transfer Protocol)是一种传统的文件传输协议,适用于主机和虚拟机之间的文件共享。
1、设置FTP服务器
-
安装FTP服务器:
sudo apt-get updatesudo apt-get install vsftpd
-
配置FTP服务器:
- 编辑
/etc/vsftpd.conf文件:sudo nano /etc/vsftpd.conf - 确保以下配置项被设置:
anonymous_enable=NOlocal_enable=YES
write_enable=YES
chroot_local_user=YES
- 编辑
-
重启FTP服务:
sudo systemctl restart vsftpd
2、使用FTP客户端
-
使用FileZilla:
- 打开FileZilla,在“主机”字段中输入虚拟机的IP地址,在“用户名”和“密码”字段中输入你的Ubuntu用户凭据,端口保持默认的21。
- 点击“快速连接”,你现在可以在FileZilla的界面中拖放文件进行传输。
-
使用命令行FTP:
- 打开主机操作系统的终端。
- 输入以下命令以连接到虚拟机:
ftp 192.168.0.100 - 输入用户名和密码后,可以使用
put命令上传文件,get命令下载文件,例如:ftp> put localfileftp> get remotefile
以上是详细介绍Ubuntu虚拟机如何共享文件的多种方法。每种方法都有其优点和适用场景,选择适合你需求的方法可以大大提高工作效率。
相关问答FAQs:
1. 如何在Ubuntu虚拟机中共享文件?
在Ubuntu虚拟机中共享文件,您可以使用虚拟机软件提供的共享文件夹功能。首先,确保您的虚拟机软件已经安装并正常运行。然后,通过虚拟机软件的设置,将主机操作系统中的文件夹设置为共享文件夹。在Ubuntu虚拟机中,您可以通过挂载共享文件夹的方式访问这些文件。
2. 如何在Ubuntu虚拟机中挂载共享文件夹?
要在Ubuntu虚拟机中挂载共享文件夹,首先确保您已经安装了虚拟机软件提供的增强功能。然后,在Ubuntu虚拟机中打开终端,使用以下命令创建一个目录来挂载共享文件夹:
sudo mkdir /mnt/shared
接下来,使用以下命令将共享文件夹挂载到刚创建的目录中:
sudo mount -t vboxsf 共享文件夹名称 /mnt/shared
这样,您就可以通过在/mnt/shared目录下访问共享文件夹中的文件了。
3. 如何在Ubuntu虚拟机中实现自动挂载共享文件夹?
如果您希望每次启动Ubuntu虚拟机时自动挂载共享文件夹,可以将挂载命令添加到/etc/fstab文件中。首先,在Ubuntu虚拟机中打开终端,使用以下命令打开fstab文件:
sudo nano /etc/fstab
在打开的文件中,添加以下行来指定共享文件夹的挂载信息:
共享文件夹名称 /mnt/shared vboxsf defaults 0 0
保存并关闭文件。现在,每次启动Ubuntu虚拟机时,共享文件夹都会自动挂载到/mnt/shared目录中。
文章包含AI辅助创作,作者:Edit2,如若转载,请注明出处:https://docs.pingcode.com/baike/3440452