您的位置:

如何实现虚拟机与主机文件的互通

一、建立文件共享

1、在虚拟机上安装samba,用于共享文件夹。

sudo apt-get install samba

2、将需要共享的文件夹添加至smb.conf文件。

sudo vi /etc/samba/smb.conf
[share]
path = /path/to/shared/folder
writeable = yes
browseable = yes
create mask = 0777
directory mask = 0777
valid users = user1

这里我们创建了一个名为"share"的共享文件夹,路径为/path/to/shared/folder,设置了读写权限,并且指定了用户user1可以访问该共享文件夹。

3、重启samba服务。

sudo service smbd restart

4、在主机上使用smbclient命令连接虚拟机上的共享文件夹。

smbclient -U user1 //ip_of_vm/share

连接成功后,即可在主机上访问虚拟机中的共享文件夹,进行文件的读写操作。

二、使用SCP进行文件传输

1、在主机上安装openssh-server。

sudo apt-get install openssh-server

2、在虚拟机上安装openssh-client。

sudo apt-get install openssh-client

3、在主机上使用SCP命令传输文件至虚拟机。

scp /path/to/local/file user@ip_of_vm:/path/to/destination/folder

4、在虚拟机上使用SCP命令传输文件至主机。

scp user@ip_of_host:/path/to/local/file /path/to/destination/folder

通过SCP命令可以在主机和虚拟机之间进行文件的传输,方便快捷。

三、挂载主机文件

1、在虚拟机上创建一个本地文件夹,用于挂载主机上的文件。

mkdir /mnt/host

2、在主机上安装nfs-kernel-server。

sudo apt-get install nfs-kernel-server

3、在主机上将需要共享的文件夹添加至exports文件中。

sudo vi /etc/exports
/path/to/shared/folder    ip_of_vm(rw,sync,no_subtree_check)

这里我们将路径为/path/to/shared/folder的文件夹,设置为只能被ip_of_vm访问,并且设置了读写权限。

4、在虚拟机上挂载主机文件夹。

sudo mount -t nfs ip_of_host:/path/to/shared/folder /mnt/host

挂载成功后,在虚拟机的/mnt/host文件夹下即可看到主机上的文件。

四、使用FTP进行文件传输

1、在主机上安装vsftpd。

sudo apt-get install vsftpd

2、在虚拟机上安装ftp客户端。

sudo apt-get install ftp

3、在主机上开启FTP服务。

sudo service vsftpd start

4、在虚拟机上连接FTP服务器。

ftp ip_of_host

连接成功后,即可在虚拟机和主机之间进行文件的传输,类似于SCP。

五、使用Git进行文件版本控制

1、在主机上安装Git。

sudo apt-get install git

2、在虚拟机上安装Git。

sudo apt-get install git

3、在主机上创建一个Git仓库。

mkdir my_repo
cd my_repo
git init

4、将文件添加到Git仓库。

git add .
git commit -m "initial commit"

5、将Git仓库推送至远程服务器。

git remote add origin user@ip_of_host:/path/to/repo
git push -u origin master

6、在虚拟机上克隆Git仓库至本地。

git clone user@ip_of_host:/path/to/repo

通过Git,可以实现文件的版本控制和同步,方便多人共同开发。