Linux 服务器之间传输文件的多种方法

目录

    • rcp
    • scp
    • rsync
    • SFTP

rcp

Linux rcp命令用于复制远程文件或目录。

rcp指令用在远端复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。

目标主机需要事先打开rcp功能,并设置好rcp的权限:把源主机加入到可信任主机列表中,否则无法在源主机上使用rcp远程复制文件到目标主机。

例:
//将当前目录的test1.txt复制到指定远程主机的/home/test目录下

rcp test1.txt root@10.16.132.5:/home/test

scp

Linux scp 命令用于 Linux 之间复制文件和目录。

scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。

scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。

只传输文件,使用scp命令

例:

//*表示文件夹中的所有文件
scp   /home/test/*  xxx@10.111.22.33:/home/test

//传输单个文件

scp   /home/test/a.txt  xxx@10.111.22.33:/home/test

xxx:目标服务器ssh账号名

@10.111.22.33:目标服务器的ip地址

:/home/test:ip地址后面加冒号,写入要传输到目标服务器的文件保存目录

如果我们想直接把整个文件夹(包括文件夹)都传输过去,那么加上-r即可

例:

scp -r  /home/test  xxx@10.111.22.33:/home/test

rsync

sync是Linux系统下的文件同步和数据传输工具,它采用“rsync”算法,可以将一个客户机和远程文件服务器之间的文件同步,也可以在本地系统中将数据从一个分区备份到另一个分区上。

如果rsync在备份过程中出现了数据传输中断,恢复后可以继续传输不一致的部分。rsync可以执行完整备份或增量备份。

它的操作方式和scp和相似,但是比scp强大很多。

命令格式:

rsync [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径> 

例子:

 #把本地的a.txt文件拷贝到192.112.0.10机器上的/home/test目录下
rsync /home/test/a.txt work@192.112.0.10:/home/test/ 
#把192.112.0.10机器上的source.txt文件拷贝到本地的/home/work目录下
rsync work@192.112.0.10:/home/work/source.txt /home/work/  

#拷贝文件夹,加-r参数

rsync -r /home/work/sourcedir work@192.112.0.10:/home/work/ 

SFTP

SFTP是SSH File Transfer Protocol的缩写,安全文件传送协议。SFTP与FTP有着几乎一样的语法和功能。
SFTP为SSH的其中一部分,是一种传输文件至 服务器的安全方式。

要使用sftp连接到一个服务器,只需要使用以下命令建立一个安全SSH连接并创建一个SFTP会话,

sftp root@192.168.10.18

参数说明:

root:用户账号

192.168.10.18:服务器ip

输入了以上命令,就会 提示输入密码,输入密码即可进入sftp会话

进入sftp会话即可将文件上传到服务器

例:

#把home目录下的本地文件test.txt上传到ftp服务器/tmp目录下
put /home/test.txt /tmp/
#把home目录下的本地目录test上传到sftp服务器/tmp目录下,-r参数允许拷贝子目录和子文件
put -r /home/test /tmp/

你可能感兴趣的:(Linux,linux,ssh)