Linux文件传输命令详解

在 Linux 系统中,文件传输是常见的任务,尤其是在本地与远程服务器之间传输文件。这里将介绍几个常用的文件传输命令,包括 rzsz 和 scp

1. rz 命令

rz 是 ZMODEM 协议的一个实现工具,通常用于通过终端(如 xtermputty 等)从本地计算机向远程主机上传文件。它是 zmodem 文件传输协议的一部分,常用于 Linux 系统中的文件上传。rz 和 sz 通常配对使用,rz 用于接收文件,而 sz 用于发送文件。

使用场景
  • 上传文件rz 主要用于从本地上传文件到远程服务器。
  • 通过终端上传:通过终端或 SSH 客户端(如 putty)进行文件传输。
安装
  • 在一些 Linux 发行版中,rz 和 sz 工具并非默认安装。可以使用包管理器安装:
    • Debian/Ubuntusudo apt install lrzsz
    • Red Hat/CentOSsudo yum install lrzsz
基本用法
  1. 上传文件:在 SSH 连接后,使用 rz 命令从本地上传文件到远程服务器。rz
    • 运行后,终端会等待用户选择要上传的文件。你可以通过文件选择对话框选择本地文件。
  2. 上传多个文件:支持通过终端界面批量上传文件,使用箭头键选择文件进行上传。
注意事项
  • rz 仅在支持 ZMODEM 的终端中工作。如果终端不支持 ZMODEM,则无法使用该命令传输文件。
  • 如果你在使用 putty 这类没有图形界面的终端程序时,rz 可能无法正常使用,因此需要使用支持 ZMODEM的终端(如 xterm)或者使用其他工具(如 scprsync 等)。

2. sz 命令

与 rz 配对使用的 sz 命令用于将文件从远程主机发送到本地计算机。它也是基于 ZMODEM 协议,通常用于远程文件下载。

基本用法
  • 发送单个文件sz filename 这将会把指定的 filename 文件通过 ZMODEM 协议发送到本地计算机,客户端将弹出文件选择框,等待用户接收。
  • 发送多个文件sz file1 file2 file3 使用空格分隔文件名,sz 可以同时发送多个文件。
注意事项
  • sz 和 rz 之间的操作流程是相反的,sz 用于发送文件,rz 用于接收文件。

3. scp 命令(Secure Copy)

scp 是 Linux 系统中广泛使用的文件传输命令,用于通过 SSH 协议在本地和远程计算机之间安全地复制文件。与 rz 和 sz 不同,scp 命令是基于 SSH 协议的,可以传输文件并保证数据的安全性。

基本用法
  1. 从本地复制到远程服务器scp /path/to/local/file username@remote_host:/path/to/remote/directory 例如:scp /home/user/file.txt root@192.168.1.100:/home/root/
  2. 从远程服务器复制到本地scp username@remote_host:/path/to/remote/file /path/to/local/directory 例如:scp root@192.168.1.100:/home/root/file.txt /home/user/
  3. 传输目录
    • 如果需要复制整个目录,可以使用 -r 选项:
    scp -r /path/to/local/directory username@remote_host:/path/to/remote/directory
  4. 指定端口
    • 如果 SSH 服务运行在非标准端口(默认是 22),可以使用 -P 选项来指定端口:
    scp -P 2222 /path/to/local/file username@remote_host:/path/to/remote/directory
优点
  • 安全性:由于 scp 使用 SSH 协议进行数据传输,文件的传输过程是加密的,确保了数据的安全。
  • 简单易用:命令语法简洁,适合快速的文件传输任务。
注意事项
  • scp 需要远程主机安装并运行 SSH 服务,确保文件传输过程中的安全性。

总结对比

功能/命令rzszscp
协议类型ZMODEMZMODEMSSH
使用场景上传文件到远程主机从远程主机下载文件本地与远程之间的文件传输
安全性不加密不加密加密
适用终端支持 ZMODEM 的终端支持 ZMODEM 的终端所有支持 SSH 的系统
是否支持批量传输支持支持支持

总结

  • rz 和 sz 主要用于通过 ZMODEM 协议在支持的终端中传输文件,适合在没有图形界面的终端环境下使用。
  • scp 是更为通用、加密安全的文件传输工具,可以在任何支持 SSH 的环境中进行文件的上传和下载。对于需要安全性较高的文件传输任务,scp 是更优的选择。

根据你的需求,选择适合的工具进行文件传输。