文件传输到Linux虚拟机,哪种方法最快?7种方法推荐

共享文件夹法(推荐给VMware/VirtualBox用户)

适用场景:主机与虚拟机频繁交换文件,无需网络配置。
步骤

  1. 配置共享文件夹
    • VMware:虚拟机设置 → 选项 → 共享文件夹 → 启用并添加主机目录(如 D:\share)。
    • VirtualBox:设置 → 共享文件夹 → 添加路径(勾选“自动挂载”和“固定分配”)。
  2. Linux挂载目录
    • 启动虚拟机,共享目录通常自动挂载到 /media/sf_共享文件夹名(需替换实际名称)。
    • 手动挂载(可选):
      sudo mkdir /mnt/share  # 创建挂载点
      sudo mount -t vboxsf 共享文件夹名 /mnt/share  # VirtualBox
      sudo mount -t vmhgfs .host:/共享文件夹名 /mnt/share  # VMware
  3. 访问文件
    • 终端查看:ls /mnt/share
    • 图形界面:文件管理器进入 /media/mnt 目录。
      注意:将用户加入 vboxsf 组(VirtualBox)或 vmware 组(VMware)以解决权限问题:

      sudo usermod -aG vboxsf $USER  # VirtualBox
      sudo reboot  # 重启生效

SCP命令法(命令行首选)

适用场景:通过SSH安全传输文件,适合远程或本地虚拟机。
前提:虚拟机已开启SSH服务(检查命令:sudo systemctl status sshd)。
步骤

  1. 从主机复制到虚拟机
    scp /主机/文件路径 用户名@虚拟机IP:/目标目录/  
    # 示例:scp ~/test.txt user@192.168.1.10:/home/user/
  2. 从虚拟机复制到主机
    scp 用户名@虚拟机IP:/虚拟机文件路径 /主机/目标目录/  
    # 示例:scp user@192.168.1.10:/var/log/syslog ~/Downloads/

    关键参数

  • -P 端口号:指定非默认SSH端口(如 -P 2222)。
  • -r:传输整个目录(如 scp -r my_folder user@IP:/path)。

SFTP客户端法(图形化操作)

适用场景:可视化管理文件,适合大文件或多文件传输。
工具推荐:FileZilla(免费跨平台)、WinSCP(Windows)。
步骤(以FileZilla为例):

  1. 打开FileZilla → 顶部输入栏填写:
    • 主机:虚拟机IP(如 sftp://192.168.1.10
    • 用户名/密码:虚拟机登录凭证
    • 端口:22(默认)
  2. 连接后:
    • 左侧(本地主机)拖拽文件到右侧(虚拟机目录)。
    • 支持断点续传和批量传输。

HTTP/FTP临时服务法(无SSH时备用)

适用场景:虚拟机无法开启SSH,需快速传输小文件。
步骤

  1. 在虚拟机启动HTTP服务
    cd /目录/含文件  # 进入目标目录
    python3 -m http.server 8000  # Python3启动服务(端口自选)
  2. 主机下载文件
    • 浏览器访问 http://虚拟机IP:8000 → 点击文件名下载。
    • 或终端下载:
      wget http://虚拟机IP:8000/文件名

      替代方案

  • 使用FTP服务(安装 vsftpd,配置较复杂)。

云存储/网盘中转法

适用场景:大文件或跨网络传输。
步骤

  1. 主机上传文件到网盘(如Google Drive、OneDrive、百度网盘)。
  2. 虚拟机内:
    • 命令行下载:
      wget 文件直链  # 需获取直链(如使用transfer.sh)
    • 或安装网盘客户端(如Nextcloud、rclone)。

远程桌面拖放法(带图形界面)

适用场景:虚拟机已安装桌面环境(如Ubuntu Desktop)。
步骤

  1. 启用远程桌面
    • 安装xrdp:
      sudo apt install xrdp  # Debian/Ubuntu
      sudo systemctl enable xrdp
  2. 主机连接
    • Windows:用“远程桌面连接”输入虚拟机IP。
    • macOS/Linux:使用Remmina或Vinagre。
  3. 直接拖放:连接后,在远程桌面中拖拽文件到虚拟机窗口。

USB设备直通法(物理设备传输)

适用场景:U盘/移动硬盘中的大文件传输。
步骤

  1. VirtualBox/VMware设置

    虚拟机 → 设置 → USB设备 → 添加主机设备。

  2. Linux挂载U盘
    sudo mkdir /mnt/usb  # 创建挂载点
    sudo mount /dev/sdb1 /mnt/usb  # sdb1需替换为实际设备名(用lsblk查看)
  3. 操作完成后卸载:
    sudo umount /mnt/usb

总结与注意事项

方法 优势 适用场景
共享文件夹 无需网络,双向实时同步 VMware/VirtualBox本地虚拟机
SCP/SFTP 安全加密,跨平台通用 远程或本地SSH可用环境
HTTP临时服务 无需安装额外服务 快速传输小文件
远程桌面拖放 图形化操作直观 带桌面的虚拟机
云存储/USB 突破网络限制 大文件或物理设备中转

安全提示

  • 使用SCP/SFTP时,建议禁用SSH密码登录,改用密钥认证。
  • 临时HTTP服务仅限内网使用,暴露公网有风险。
  • 共享文件夹权限问题可通过用户组解决(如 vboxsf)。

引用说明:本文参考Linux官方文档、VMware/VirtualBox手册及SSH协议规范,方法经Ubuntu/CentOS实测验证。

根据需求选择方法:开发调试首选共享文件夹远程管理用SCP/SFTP临时传输走HTTP服务,遇到权限问题,终端命令加 sudo 并检查用户组归属。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6931.html

(0)
酷番叔酷番叔
上一篇 2025年7月10日 06:07
下一篇 2025年7月10日 06:30

相关推荐

  • Linux系统新增网卡的具体操作步骤和配置方法是什么?

    在Linux系统中新增网卡后,需完成硬件识别、驱动加载、网络配置及服务验证等步骤,具体操作如下:硬件识别与驱动加载确认网卡识别情况物理安装网卡后,通过以下命令检查系统是否识别到新网卡:使用 lspci | grep Ethernet(PCI网卡)或 lsusb | grep “Network”(USB网卡)查看……

    2025年8月23日
    15000
  • Linux系统如何开启FTP服务?详细操作步骤与方法有哪些?

    在Linux系统中开启FTP服务通常涉及安装FTP服务器软件、配置服务参数、设置防火墙规则以及管理用户权限等步骤,以下以常用的vsftpd(Very Secure FTP Daemon)为例,详细讲解在Linux系统中开启FTP服务的完整流程,涵盖不同发行版的操作差异及常见问题处理,环境准备与软件安装vsftp……

    2025年9月28日
    13300
  • 如何在Linux系统安装QQ软件?

    在Linux系统中安装QQ一直是许多用户关注的问题,由于腾讯官方对Linux原生客户端的支持有限,目前主要通过官方Linux版、Wine兼容层或第三方工具实现,以下是几种主流安装方法的详细步骤及注意事项,安装官方Linux版QQ(推荐首选)腾讯曾推出过Linux原生QQ客户端,基于Electron开发,支持Ub……

    2025年9月18日
    18800
  • linux中如何切换用胡

    Linux中切换用户,可用su 用户名(切换到指定用户)

    2025年8月19日
    17500
  • Linux如何将.o文件编译成.bin文件?

    在Linux系统中,将.o文件(目标文件)转换为.bin文件(二进制可执行文件或镜像)通常涉及链接和格式转换两个核心步骤,.o文件是源代码经过编译器(如gcc)处理后生成的中间文件,包含机器码、符号表和重定位信息,而.bin文件则是可直接被硬件或加载器执行的纯二进制数据,常用于嵌入式开发或需要裸机运行的场景,以……

    2025年9月27日
    15300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信