物理机复制命令到Ubuntu
- 物理机
- 2025-07-08
- 7
将物理机上的文件或数据复制到Ubuntu系统时,可以使用多种命令行工具和方法,以下是几种常用的方法及其详细步骤:
使用scp命令(安全复制)
scp(Secure Copy)是基于SSH协议的文件传输工具,适用于在物理机与Ubuntu之间传输文件或目录。
语法:
scp [选项] 源文件 目标路径
常用选项:
- -r:递归复制整个目录。
- -p:保留文件权限、时间戳等属性。
- -P:指定端口(SSH默认端口为22)。
- -i:指定私钥文件(用于免密登录)。
示例:
-
从物理机复制文件到Ubuntu:
scp /path/to/local/file.txt user@ubuntu_ip:/path/to/destination/ scp C:UsersAdminDesktopfile.txt user@192.168.1.100:/home/user/ -
从物理机复制目录到Ubuntu:
scp -r /path/to/local/folder user@ubuntu_ip:/path/to/destination/ -
从Ubuntu复制文件到物理机:
scp user@ubuntu_ip:/path/to/remote/file.txt /path/to/local/destination/
注意事项:
- 确保Ubuntu上已安装openssh-server并启动SSH服务。
- 如果物理机是Windows,可以使用sshpass配合scp实现自动输入密码: sshpass -p "password" scp -P 22 file.txt user@ubuntu_ip:/path/to/destination/
使用rsync命令(同步工具)
rsync是一个高效的文件同步工具,支持增量传输和断点续传,适合大文件或目录的复制。

语法:
rsync [选项] 源文件 目标路径
常用选项:
- -a:归档模式,保留文件属性、符号链接等。
- -v:显示详细过程。
- -z:压缩传输,适合网络传输。
- --delete:删除目标目录中源目录不存在的文件。
示例:
-
同步物理机目录到Ubuntu:
-
从Ubuntu同步文件到物理机:
rsync -avz user@ubuntu_ip:/path/to/remote/folder /path/to/local/destination/
- 仅传输变更部分,节省带宽。
- 支持断点续传,适合不稳定网络环境。
-
将物理机磁盘克隆到Ubuntu:
sudo dd if=/dev/sda of=/path/to/image.img bs=4M status=progress
说明:
- if:输入文件(物理机磁盘设备,如/dev/sda)。
- of:输出文件(镜像文件路径)。
- bs:块大小(如4M)。
- status=progress:显示进度。
-
将镜像写入Ubuntu磁盘:
sudo dd if=/path/to/image.img of=/dev/sdb bs=4M status=progress - 需谨慎操作,避免覆盖重要数据。
- 适用于全盘备份或迁移。
-
打包物理机目录:
-
在Ubuntu解压:

tar -xvzf backup.tar.gz -C /path/to/destination/
-
安装open-vm-tools:
sudo apt-get autoremove open-vm-tools sudo apt-get install open-vm-tools-desktop sudo reboot安装后,可以直接在虚拟机和物理机之间复制粘贴文件。
-
设置共享文件夹:
- 在VMware或VirtualBox中启用“共享文件夹”功能。
- 在Ubuntu中挂载共享文件夹: sudo mount -t vboxsf shared_folder /mnt/shared/
- 安装SSH客户端(如OpenSSH for Windows)。
- 使用工具(如WinSCP)图形化操作。
- 在Ubuntu端启用SSH服务(确保sshd已安装并启动)。
- 在物理机生成密钥对: ssh-keygen -t rsa
- 将公钥复制到Ubuntu: ssh-copy-id user@ubuntu_ip
- 使用scp或`rsync
优势:
使用dd命令(磁盘镜像复制)
dd命令用于低级别数据复制,适合磁盘或分区的完整克隆。
语法:
dd if=输入文件 of=输出文件 bs=块大小 status=progress
示例:
注意事项:
使用tar命令(打包压缩)
tar命令可将多个文件打包成压缩文件,适合批量传输。
语法:
tar -cvf archive.tar 文件1 文件2 tar -xvf archive.tar -C 目标目录
示例:
虚拟机与物理机文件共享(VMware/VirtualBox)
如果Ubuntu运行在虚拟机中,可以通过以下方式实现文件共享:
方法对比与选择建议
| 场景 | 推荐命令 | 优点 | 缺点 |
|---|---|---|---|
| 小文件传输 | scp | 简单、安全 | 需手动输入密码 |
| 大目录同步 | rsync | 增量传输、高效 | 需要熟悉参数 |
| 磁盘克隆 | dd | 完整复制磁盘或分区 | 风险高,操作需谨慎 |
| 批量文件备份与传输 | tar | 打包压缩,便于存档 | 需解压后才能使用 |
| 虚拟机与物理机共享文件 | open-vm-tools | 支持复制粘贴,操作便捷 | 需安装工具并重启 |
常见问题与解答(FAQs)
问题1:为什么scp命令在Windows上无法使用?
解答:scp基于SSH协议,而Windows系统默认未安装SSH客户端,解决方法:
问题2:如何实现物理机与Ubuntu之间的免密传输?
解答:通过SSH密钥对实现免密登录: