虚拟机中CentOS 7文件拷贝到主机有多种实用方法:一是通过共享文件夹,安装VMware Tools后,在虚拟机设置中启用共享目录,直接拖拽文件即可;二是使用SCP命令,确保虚拟机与主机网络互通,执行scp [文件路径] [主机用户]@[主机IP]:[目标路径]传输;三是借助SFTP工具,如FileZilla,通过SSH协议连接主机进行图形化传输,共享文件夹操作最便捷,SCP适合命令行场景,SFTP则提供可视化界面,可根据需求选择。在日常开发或运维工作中,我们经常需要在虚拟机(如VMware、VirtualBox等)中的CentOS 7系统与主机之间传输文件,由于虚拟机与主机系统隔离,直接拖拽或复制粘贴往往不可行,本文将介绍几种安全、高效的文件拷贝方法,覆盖不同场景需求,帮助您轻松实现数据交换。
通过虚拟机工具(推荐:最便捷)
虚拟机管理工具(如VMware Tools、VirtualBox增强功能)提供了“共享文件夹”功能,可直接让虚拟机与主机互访文件,操作简单且无需额外配置。
VMware环境下的共享文件夹
步骤1:安装VMware Tools
- 在VMware虚拟机界面,点击顶部菜单栏的“虚拟机”→“安装VMware Tools”(若虚拟机正在运行,会自动挂载VMware Tools安装镜像;若未运行,需先启动虚拟机)。
- 进入CentOS 7系统后,会在/mnt目录下看到一个名为“cdrom”的设备(即挂载的VMware Tools镜像),进入该目录,找到以
VMwareTools-开头的压缩包(如VMwareTools-10.3.10-12406962.tar.gz)。
步骤2:解压并安装VMware Tools
# 进入临时目录(可选,避免污染当前目录) cd /tmp # 解压安装包 tar -zxvf /mnt/cdrom/VMwareTools-*.tar.gz # 进入解压后的目录 cd vmware-tools-distrib/ # 运行安装脚本(需root权限) sudo ./vmware-install.pl -d # 参数“-d”表示默认安装(一路回车),也可手动配置选项
安装完成后,重启虚拟机使配置生效。

步骤3:设置共享文件夹
- 在VMware虚拟机界面,点击“虚拟机”→“设置”→“选项”→“共享文件夹”,勾选“总是启用”,并点击“添加”,选择主机中需要共享的文件夹(如D:\Share)。
- 共享文件夹在CentOS 7中的默认路径为:
/mnt/hgfs(可直接通过命令cd /mnt/hgfs访问)。
步骤4:拷贝文件
- 从主机到虚拟机:直接将主机共享文件夹中的文件拖拽到虚拟机桌面,或通过
cp /mnt/hgfs/* /目标路径拷贝。 - 从虚拟机到主机:将虚拟机中的文件复制到
/mnt/hgfs,主机即可直接访问共享文件夹(路径为VMware设置的共享目录)。
VirtualBox环境下的增强功能
步骤1:安装VirtualBox增强功能
- 在VirtualBox虚拟机界面,点击“设备”→“安装增强功能”(虚拟机会自动挂载增强功能镜像)。
- 进入CentOS 7系统,挂载镜像并安装:
# 挂载镜像(设备路径可能为/dev/sr0,需用lsblk确认) sudo mount /dev/sr0 /mnt
进入增强功能目录
cd /mnt
安装依赖(若未安装gcc和kernel-devel)
sudo yum install gcc kernel-devel -y
运行安装脚本
sudo ./VBoxLinuxAdditions.run
安装完成后,**重启虚拟机**。
#### 步骤2:设置共享文件夹
- 在VirtualBox虚拟机设置中,进入“共享文件夹”→“添加共享文件夹”,选择主机目录(如D:\Share),并设置“固定分配”(确保虚拟机启动时自动挂载)。
- 共享文件夹在CentOS 7中的默认路径为:`/media/sf_共享文件夹名`(例如共享文件夹名为“Share”,则路径为`/media/sf_Share`)。
#### 步骤3:拷贝文件
- 与VMware类似,直接拖拽文件或通过`cp /media/sf_Share/* /目标路径`实现双向拷贝。
### 优缺点
- **优点**:操作简单,支持双向拖拽,无需额外工具,适合频繁文件交换。
- **缺点**:需提前安装虚拟机工具,且依赖虚拟机管理软件。
## 二、通过网络传输(适合远程/无图形界面)
若虚拟机为“无头模式”(无图形界面)或需远程传输文件,可通过**SCP(Secure Copy)**或**SFTP**实现,基于SSH协议,安全且跨平台。
### 1. 准备工作:确保SSH服务开启
```bash
# 检查SSH服务状态
sudo systemctl status sshd
# 若未开启,启动并设置开机自启
sudo systemctl start sshd
sudo systemctl enable sshd
获取虚拟机的IP地址(通过ip addr或ifconfig命令,通常为以太网网卡ens33的IP,如192.168.1.100)。
从虚拟机拷贝文件到主机
方法1:使用SCP命令(主机为Linux/macOS)
在主机终端中执行:
# 格式:scp -r 用户名@虚拟机IP:虚拟机文件路径 主机目标路径 scp -r root@192.168.1.100:/home/user/test.txt /home/hostuser/
-r:递归拷贝目录(若拷贝的是文件,可省略)。root:虚拟机用户名(根据实际情况替换,如普通用户“user”)。
方法2:使用SCP命令(主机为Windows)
Windows需安装支持SSH的工具,如PuTTY(pscp.exe)或OpenSSH(Windows 10/11自带)。
- 使用OpenSSH(以管理员身份打开PowerShell):
# 格式:scp -r 用户名@虚拟机IP:虚拟机文件路径 本地路径 scp -r root@192.168.1.100:/home/user/test.txt C:\Users\HostUser\
方法3:使用SFTP工具(图形化,适合新手)
- 主机端工具:FileZilla(跨平台)、WinSCP(Windows)等。
- 操作步骤:
- 打开FileZilla,输入虚拟机IP、用户名、密码,端口默认22。
- 连接成功后,左侧为主机文件,右侧为虚拟机文件,直接拖拽即可拷贝。
优缺点
- 优点:无需安装虚拟机工具,适合远程操作,安全性高(SSH加密)。
- 缺点:需虚拟机和主机处于同一局域网(或配置端口转发),命令行操作对新手不友好。
通过U盘/移动硬盘拷贝(适合离线/大文件)
若虚拟机与主机无法联网,或需传输大文件(如视频、镜像),可通过U盘实现“物理拷贝”。
步骤1:在CentOS 7中识别U盘
# 插入U盘后,查看所有磁盘设备 sudo lsblk # 找到U盘设备名(如/dev/sdb1,注意区分磁盘分区)
步骤2:创建挂载点并挂载U盘
# 创建挂载目录(如/mnt/usb) sudo mkdir /mnt/usb # 挂载U盘(假设U盘为FAT32格式,若为NTFS需安装ntfs-3g) sudo mount -t vfat /dev/sdb1 /mnt/usb # 若U盘为NTFS格式,先安装ntfs-3g(需联网) sudo yum install ntfs-3g -y sudo mount -t ntfs-3g /dev/sdb1 /mnt/usb
步骤3:拷贝文件到U盘
# 将虚拟机中的文件拷贝到U盘挂载点 sudo cp -r /home/user/data /mnt/usb/ # 若文件权限不足,可先修改U盘权限(可选) sudo chmod 777 /mnt/usb/
步骤4:卸载U盘并拔出
# 卸载U盘(避免数据损坏) sudo umount /mnt/usb # 拔出U盘,插入主机,即可访问文件
优缺点
- 优点:无需网络,适合离线场景,传输大文件稳定。
- 缺点:需物理U盘,操作步骤稍多,需注意文件系统兼容性(如NTFS需额外工具)。
通过压缩文件+虚拟机拖拽(简单临时方案)
若虚拟机工具已安装“复制粘贴”功能,可将文件压缩后直接拖拽到主机。
步骤1:在虚拟机中压缩文件
# 压缩单个文件 tar -czf test.tar.gz /home/user/test.txt # 压缩整个目录 tar -czf data.tar.gz /home/user/data/
步骤2:通过虚拟机工具拖拽到主机
- 确保虚拟机工具的“拖放”功能已启用(VMware:虚拟机设置→选项→高级→勾选“拖放”;VirtualBox:设备→增强功能→勾选“拖放”)。
- 将压缩后的
.tar.gz文件直接从虚拟机桌面拖拽到主机桌面或指定文件夹。
步骤3:在主机中解压
- Linux/macOS:使用
tar -xzf test.tar.gz解压。 - Windows:使用WinRAR、7-Zip等工具解压。
优缺点
- 优点:操作极简,适合临时小文件传输。
- 缺点:依赖虚拟机工具的拖放功能,大文件压缩耗时。
注意事项
- 文件权限:从虚拟机拷贝到主机的文件,若主机为Linux,可能需修改权限(如
chmod 755 file);若为Windows,右键“属性”→“安全”→“编辑”权限。 - 防火墙设置:若使用SCP/SFTP,需确保虚拟机防火墙允许22端口(
sudo firewall-cmd --permanent --add-port=22/tcp,sudo firewall-cmd --reload)。 - 安全提示:避免在公共网络下传输敏感文件,SCP/SFTP建议使用密钥认证(非密码)提升安全性。
| 方法 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| 虚拟机工具 | 有图形界面,频繁文件交换 | 操作简单,支持双向拖拽 | 需安装工具,依赖虚拟机软件 |
| 网络传输(SCP/SFTP) | 远程/无图形界面,跨平台 | 安全,无需物理设备 | 需网络配置,命令行操作复杂 |
| U盘挂载 | 离线/大文件传输 | 无需网络,稳定 | 需物理U盘,步骤稍多 |
| 压缩+拖拽 | 临时小文件,虚拟机工具已启用 | 极简快捷 | 依赖拖放功能,大文件耗时 |
根据实际需求选择合适的方法,新手优先推荐“虚拟机工具”,远程场景选“SCP/SFTP”,离线场景选“U盘挂载”,希望本文能解决您的文件拷贝问题!
文章版权声明:除非注明,否则均为XMSDN - MSDN原版系统镜像 | 纯净ISO系统下载原创文章,转载或复制请以超链接形式并注明出处。


