Linux主机之间传输文件的几种方法对比_dd gzip nc-CSDN博客
2026/9/21 1:19:23 网站建设 项目流程

首屏导读 · 本教程配套付费专栏: 大模型工程师修炼手记19.9 元(AI 编程 / Agent 实战 | 本文同主题系统课程)· AI时代程序员的自我提升49.9 元(AI 时代成长方法论)。

单篇不过瘾?订阅解锁全量源码、实战与答疑;文末附资料包领取方式 ↓

1.scp传输

scp -r /data/file root@ip:/data/
scp -C /data/sda.img root@ip:/data/img/

-r: 支持目录

-C: 启用压缩传送

scp传输速度较慢,但使用ssh通道保证了传输的安全性

配置scp在Linux或Unix之间传输文件无需密码 http://www.linuxidc.com/Linux/2015-01/111894.htm

Linux之cp/scp命令+scp命令详解 http://www.linuxidc.com/Linux/2014-09/107127.htm

CentOS 不能使用scp命令 解决方法 http://www.linuxidc.com/Linux/2014-09/106569.htm

两台Linux主机之间scp复制文件 http://www.linuxidc.com/Linux/2014-04/99979.htm

2.rsync差异化传输(支持断点续传,数据同步)

rsync -av /backup/ -e ssh root@192.168.1.110:/bak

-a: archive归档模式,表示以递归方式传输文件,并保持所有文件属性,链接等,等于-rlptgoD

rsync——remote sync。rsync是Linux系统下的文件同步和数据传输工具,它采用“rsync”算法,可以将一个客户机和远程文件服务器之间的文件同步,也可以在本地系统中将数据从一个分区备份到另一个分区上。如果rsync在备份过程中出现了数据传输中断,恢复后可以继续传输不一致的部分。rsync可以执行完整备份或增量备份。它的主要特点有:
1.可以镜像保存整个目录树和文件系统;
2.可以很容易做到保持原来文件的权限、时间、软硬链接;无须特殊权限即可安装;
3.可以增量同步数据,文件传输效率高,因而同步时间短;
4.可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;
5.支持匿名传输,以方便进行网站镜象等;
6.加密传输数据,保证了数据的安全性;

Rsync实现文件备份同步详解 http://www.linuxidc.com/Linux/2014-09/106967.htm

Rsync同步两台服务器 http://www.linuxidc.com/Linux/2014-09/106574.htm

CentOS 6.5下Rsync远程同步 http://www.linuxidc.com/Linux/2014-05/101084.htm

Ubuntu Linux下用Rsync进行数据备份和同步配制 http://www.linuxidc.com/Linux/2014-03/97592.htm

Linux使用Rsync客户端与服务端同步目录进行备份 http://www.linuxidc.com/Linux/2014-02/97068.htm

3.管道传输(降低IO开销)

gzip -c sda.img | ssh root@192.168.1.110 “gunzip -c - > /image/sda.img”

对sda.img使用gzip压缩,-c参数表示输出到stdout,即通过管道传送

gunzip -c - 中的”-“表示接收从管道传进的sdtin

4.nc传输(一种网络的数据流重定向)

nc所做的就是在两台电脑之间建立tcp或udp链接,并在两个端口之间传输数据流,是一种网络的数据流重定向

使用dd结合nc命令网络克隆磁盘分区

主机:
dd if=/dev/vda | gzip -c | nc -l 50522
待恢复机:
nc 192.168.215.63 50522 | gzip -dc | dd of=/dev/sda

dd命令克隆/dev/vda磁盘,并使用gzip压缩,把数据流重定向到本机50522端口,待恢复机上使用nc连接主机50522端口,就能接收主机50522端口的比特数据流,然后使用gzip解压缩,并恢复到/dev/sda磁盘

dd命令读取的是磁盘扇区,所以不论磁盘文件系统,或者分区表,磁盘MBR信息,dd都能够复制,可以使用bs,count参数控制要克隆的大小

例如dd bs=512 count=1 if=/dev/vda of=mbr.img 只复制磁盘vda的第一个扇区512K字节数据(引导程序和分区表)

5.建立文件服务器

除了上面集中传输文件的方式之外,还可以通过简历文件服务器,然后通过网络挂载的方式传输,这种适用于经常性的拷贝,下面是一个挂载ftp服务器的例子

挂载ftp服务器
yum install curlftpfs
mkdir /data/ftp
curlftpfs username:password@ftp.yourdomain.com /data/ftp

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-05/117028.htm

href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/markdown_views-e1cc28b339.css" rel="stylesheet"> href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/style-d1e89cace4.css" rel="stylesheet">

内容来源:csdn.net

作者昵称:Tom·Ge

原文链接:https://blog.csdn.net/gedonshen/article/details/78041627

作者主页:https://blog.csdn.net/gedonshen

确定要放弃本次机会?
福利倒计时
::

立减 ¥

普通VIP年卡可用
立即使用

延伸阅读 · 我的付费专栏

觉得这篇文章对你有帮助?我把同类主题的系统化内容沉淀成了付费专栏,欢迎订阅支持持续输出:

专栏定价内容
大模型工程师修炼手记19.9 元AI 编程 / Agent 深度实战
AI时代程序员的自我提升49.9 元AI 时代成长方法论

本文配套代码 / 资料包:欢迎在评论区留言「求代码」,我会私信发送完整资源!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询