上一篇                     
               
			  物理机复制命令到Ubuntu
- 物理机
- 2025-07-08
- 3052
 机复制命令到Ubuntu可使用scp,如
 
 
scp 源文件路径 用户名@UbuntuIP:目的路径,需Ubuntu开启SSH服务
将物理机上的文件或数据复制到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:  rsync -avz /path/to/local/folder user@ubuntu_ip:/path/to/destination/ 
-  从Ubuntu同步文件到物理机: rsync -avz user@ubuntu_ip:/path/to/remote/folder /path/to/local/destination/ 
优势:
- 仅传输变更部分,节省带宽。
- 支持断点续传,适合不稳定网络环境。
使用dd命令(磁盘镜像复制)
 
dd命令用于低级别数据复制,适合磁盘或分区的完整克隆。
语法:
dd if=输入文件 of=输出文件 bs=块大小 status=progress
示例:
-  将物理机磁盘克隆到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 
注意事项:
- 需谨慎操作,避免覆盖重要数据。
- 适用于全盘备份或迁移。
使用tar命令(打包压缩)
 
tar命令可将多个文件打包成压缩文件,适合批量传输。
语法:
tar -cvf archive.tar 文件1 文件2 tar -xvf archive.tar -C 目标目录
示例:
-  打包物理机目录: tar -cvzf backup.tar.gz /path/to/folder 
-  在Ubuntu解压: tar -xvzf backup.tar.gz -C /path/to/destination/ 
虚拟机与物理机文件共享(VMware/VirtualBox)
如果Ubuntu运行在虚拟机中,可以通过以下方式实现文件共享:
-  安装 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/ 
 
方法对比与选择建议
| 场景 | 推荐命令 | 优点 | 缺点 | 
|---|---|---|---|
| 小文件传输 | scp | 简单、安全 | 需手动输入密码 | 
| 大目录同步 | rsync | 增量传输、高效 | 需要熟悉参数 | 
| 磁盘克隆 | dd | 完整复制磁盘或分区 | 风险高,操作需谨慎 | 
| 批量文件备份与传输 | tar | 打包压缩,便于存档 | 需解压后才能使用 | 
| 虚拟机与物理机共享文件 | open-vm-tools | 支持复制粘贴,操作便捷 | 需安装工具并重启 | 
常见问题与解答(FAQs)
问题1:为什么scp命令在Windows上无法使用?
 
解答:scp基于SSH协议,而Windows系统默认未安装SSH客户端,解决方法:
- 安装SSH客户端(如OpenSSH for Windows)。
- 使用工具(如WinSCP)图形化操作。
- 在Ubuntu端启用SSH服务(确保sshd已安装并启动)。
问题2:如何实现物理机与Ubuntu之间的免密传输?
解答:通过SSH密钥对实现免密登录:
- 在物理机生成密钥对: ssh-keygen -t rsa 
- 将公钥复制到Ubuntu: ssh-copy-id user@ubuntu_ip 
- 使用scp或`rsync
 
  
			