Linux主机之间传输文件的几种方法对比

1.scp传输
scp -r /data/file root@ip:/data/
scp -C /data/sda.img root@ip:/data/img/
#-r: 支持目录
#-C: 启用压缩传送

scp传输速度较慢,但使用ssh通道保证了传输的安全性
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.加密传输数据,保证了数据的安全性;
 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

 

转载于:https://www.cnblogs.com/jython/p/4352322.html

### 回答1: 在Linux系统中,可以使用多种方法实现文件之间的互传。以下是几种常见的方法: 1. 使用scp命令:scp命令可以在不同的Linux系统之间传输文件,语法如下: scp [选项] [源文件] [目标地址] 例如,将本地文件test.txt传输到远程主机192.168.1.100的/home目录下: scp test.txt root@192.168.1.100:/home 2. 使用rsync命令:rsync命令可以在不同的Linux系统之间同步文件,语法如下: rsync [选项] [源文件] [目标地址] 例如,将本地目录/home/test同步到远程主机192.168.1.100的/home目录下: rsync -avz /home/test/ root@192.168.1.100:/home 3. 使用FTP或SFTP协议:FTP和SFTP协议都可以在不同的Linux系统之间传输文件,需要在两台主机上分别安装FTP或SFTP服务器和客户端软件,并进行配置。 4. 使用NFS共享:NFS是一种文件共享协议,可以在不同的Linux系统之间共享文件,需要在一台主机上设置NFS服务器,另一台主机上挂载NFS共享目录。 以上是几种常见的Linux系统之间互传文件方法,具体选择哪种方法取决于实际需求和环境。 ### 回答2: Linux是一种自由和开放源代码的操作系统,它对于文件传输有着极为丰富和灵活的支持。在Linux系统中,我们可以使用多种方法传输和共享文件,其中包括本地文件传输、远程文件传输,以及网络共享传输等。 一、本地文件传输 本地文件传输是指在同一个Linux系统下,将文件从一个目录或文件夹复制到另一个目录或文件夹的过程。其中,常用的命令包括cp、mv、rsync等,例如: 1.将文件从/home/user1/目录下复制到/home/user2/目录下: cp /home/user1/filename /home/user2/ 2.移动文件从/home/user1/目录下到/home/user2/目录下: mv /home/user1/filename /home/user2/ 二、远程文件传输 远程文件传输通过网络连接的方式来在两个不同的Linux系统之间传输文件。常用的命令包括scp、sftp等,例如: 1.使用scp命令从远程Linux主机上将filename文件复制到本地的/Users/user1目录下: scp username@remote:/filename /Users/user1/ 2.使用sftp命令连接到远程Linux主机,并将文件下载到本地的/Users/user1目录下: sftp username@remote sftp> get /filename /Users/user1/ 三、网络共享传输 Linux系统支持通过网络共享文件方式传输和共享文件,这可以通过搭建FTP、NFS和Samba等服务来实现。其中,FTP是一种常见的网络文件传输协议,使用命令ftp、curl等进行文件上传和下载。NFS是一个在网络传输文件的服务,用户可以在本地访问远程Linux系统的文件系统。Samba则是一种允许Linux和Windows系统交互共享文件的服务。 总之,Linux系统之间互传文件可以使用本地文件传输、远程文件传输以及共享传输等多种方式,每种方式都有着其优劣势和适用范围,用户可以根据实际需要来选择合适的方式。同时,在进行文件传输时,也需要注意文件权限和安全性等问题。 ### 回答3: Linux系统下,文件传输可以通过多种方式实现,如scp、rsync、ftp、sftp等。其中,scp和rsync基本上可以满足大多数文件传输的需求。 SCP是Secure Copy的缩写,它是基于SSH协议的一种文件传输协议,可以在不同的Linux系统间、或在Linux和其他UNIX系统间相互传输文件。使用SCP传输文件的命令格式为: scp [参数] [原文件路径和名称] [目标文件路径和名称] 例如,在将本地的文件/home/user1/test.txt传输到远程服务器的/tmp目录下: scp /home/user1/test.txt root@192.168.0.1:/tmp 其中,“root”是远程服务器的用户名,“192.168.0.1”是远程服务器的IP地址。 RSYNC是一个类似于SCP的文件传输工具,但比SCP更加高效、更加灵活。它能够快速、安全、可靠地同步两个不同系统之间文件,特别适合用于大量数据的同步。使用rsync传输文件的命令格式为: rsync [参数] [原文件路径和名称] [目标文件路径和名称] 例如,在将本地的文件/home/user1/test.txt传输到远程服务器的/tmp目录下: rsync -avz /home/user1/test.txt root@192.168.0.1:/tmp 其中,“-a”表示同步的模式,“-v”表示输出详细日志,“-z”表示启用压缩传输。 除了SCP和RSYNC外,还有其他的文件传输工具,如FTP和SFTP等。FTP是一种面向用户的文件传输协议,它使用简单、广泛应用,在Linux系统下也有多种实现。SFTP是SSH File Transfer Protocol的缩写,它是一种基于SSH协议的安全文件传输协议,功能更加强大、安全性更高。 总之,在Linux系统下,文件互传非常方便和灵活,可以根据自己的实际需求选择适合的传输工具和传输方式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值