虚拟机中CentOS 7文件拷贝到主机的实用方法

LEAF
虚拟机中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”表示默认安装(一路回车),也可手动配置选项  

安装完成后,重启虚拟机使配置生效。

虚拟机中CentOS 7文件拷贝到主机的实用方法

步骤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 addrifconfig命令,通常为以太网网卡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)等。
  • 操作步骤:
    1. 打开FileZilla,输入虚拟机IP、用户名、密码,端口默认22。
    2. 连接成功后,左侧为主机文件,右侧为虚拟机文件,直接拖拽即可拷贝。

优缺点

  • 优点:无需安装虚拟机工具,适合远程操作,安全性高(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等工具解压。

优缺点

  • 优点:操作极简,适合临时小文件传输。
  • 缺点:依赖虚拟机工具的拖放功能,大文件压缩耗时。

注意事项

  1. 文件权限:从虚拟机拷贝到主机的文件,若主机为Linux,可能需修改权限(如chmod 755 file);若为Windows,右键“属性”→“安全”→“编辑”权限。
  2. 防火墙设置:若使用SCP/SFTP,需确保虚拟机防火墙允许22端口(sudo firewall-cmd --permanent --add-port=22/tcpsudo firewall-cmd --reload)。
  3. 安全提示:避免在公共网络下传输敏感文件,SCP/SFTP建议使用密钥认证(非密码)提升安全性。
方法 适用场景 优点 缺点
虚拟机工具 有图形界面,频繁文件交换 操作简单,支持双向拖拽 需安装工具,依赖虚拟机软件
网络传输(SCP/SFTP) 远程/无图形界面,跨平台 安全,无需物理设备 需网络配置,命令行操作复杂
U盘挂载 离线/大文件传输 无需网络,稳定 需物理U盘,步骤稍多
压缩+拖拽 临时小文件,虚拟机工具已启用 极简快捷 依赖拖放功能,大文件耗时

根据实际需求选择合适的方法,新手优先推荐“虚拟机工具”,远程场景选“SCP/SFTP”,离线场景选“U盘挂载”,希望本文能解决您的文件拷贝问题!

文章版权声明:除非注明,否则均为XMSDN - MSDN原版系统镜像 | 纯净ISO系统下载原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码