linux运维系列-服务器之间文件传输
1. scp命令
scp /path/to/local/file user@remote_host:/path/to/remote/directory
- 从远程主机传输到本地:
scp user@remote_host:/path/to/remote/file /path/to/local/directory
特点:
-
简单易用:
scp
是一种简单的文件传输工具,适用于快速和直接的文件传输。 -
安全性:
scp
使用 SSH 协议进行数据传输,因此数据在传输过程中是加密的,确保了传输的安全性。 -
无增量备份:
每次使用scp
传输文件时,都会将文件从源复制到目标,即使文件已经存在或部分内容已经传输完毕。它不支持增量备份或文件同步功能。 -
不支持断点续传:
scp
在传输过程中不会保存传输状态。如果传输中断,你需要重新开始整个文件的传输。
2. rsync命令
- 从本地同步到远程主机:
rsync -avz /path/to/local/directory/ user@remote_host:/path/to/remote/directory/
- 从远程主机同步到本地:
rsync -avz user@remote_host:/path/to/remote/directory/ /path/to/local/directory/
执行这个命令后,rsync 将会使用 -a 参数(archive mode)来保留文件的属性和权限,使用 -v 参数(verbose)显示详细的传输信息,使用 -z 参数(compress)在网络传输过程中压缩文件以提高传输速度。
特点:
-
增量备份:
rsync
支持增量备份,仅传输源文件和目标文件之间的差异部分,从而节省带宽和时间。这对于大文件或大目录的同步非常有用。 -
断点续传:
如果文件传输中断,rsync
可以在恢复传输时从中断点继续,而不需要重新开始整个文件的传输。 -
多种选项:
rsync
提供了丰富的选项来控制同步行为,如排除某些文件、保持文件权限、同步文件属性等。 -
本地同步功能:
除了支持本地与远程主机之间的同步,rsync
还可以在本地目录之间进行同步。 -
压缩传输:
rsync
支持通过-z
选项对数据进行压缩,以减少传输数据的体积
3. sftp命令
- 连接到远程主机
sftp user@remote_host
- 上传文件
put /path/to/local/file
- 下载文件
get /path/to/remote/file
- 退出
exit
4. rz和sz命令
rz
和 sz
命令本身没有更长的全称或“全写”,它们就是命令本身的名称。这两个命令源自于 ZModem 文件传输协议,并且通常是 lrzsz
软件包的一部分。
rz
代表 ZModem Receive,即 ZModem 接收。sz
代表 ZModem Send,即 ZModem 发送。
上传文件,交互式上传
rz
下载文件
sz filename