要在两台支持 SSH 的 Linux 机器之间快速传输文件,可以使用 scp(安全拷贝协议)命令。scp 基于 SSH 协议,可以安全地在网络中传输文件。以下是一些使用 scp 的基本方法:

从本地机器上传文件到远程机器

1
scp /path/to/local/file username@remote_host:/path/to/remote/directory
  • /path/to/local/file 是你想要传输的本地文件路径。
  • username 是远程机器的用户名。
  • remote_host 是远程机器的 IP 地址或域名。
  • /path/to/remote/directory 是你想要将文件存储在远程机器上的目录路径。

从远程机器下载文件到本地

1
scp username@remote_host:/path/to/remote/file /path/to/local/directory
  • /path/to/remote/file 是远程机器上文件的路径。
  • /path/to/local/directory 是你想要将文件存储在本地机器上的目录路径。

递归传输目录

如果需要传输整个目录,可以使用 -r 选项:

1
scp -r /path/to/local/directory username@remote_host:/path/to/remote/directory

优化传输速度

可以通过以下参数优化传输速度:

  1. 压缩传输:使用 -C 选项可以启用压缩,这在传输大文件时可能会提高速度。

    1
    scp -C /path/to/local/file username@remote_host:/path/to/remote/directory
  2. 限制带宽:使用 -l 选项限制带宽(以 kbps 为单位),例如限制为 1 Mbps:

    1
    scp -l 1000 /path/to/local/file username@remote_host:/path/to/remote/directory

使用 rsync 提高效率

对于需要频繁同步或传输大量数据的情况,可以使用 rsync 工具。它能有效地只传输差异文件,从而提高效率。

从本地同步到远程

1
rsync -avz /path/to/local/directory/ username@remote_host:/path/to/remote/directory/
  • -a:归档模式,保持文件权限等信息。
  • -v:详细模式,显示详细的传输过程。
  • -z:压缩文件数据在传输时。

从远程同步到本地

1
rsync -avz username@remote_host:/path/to/remote/directory/ /path/to/local/directory/

注意事项

  • 确保在两台机器上都已安装 SSH 服务,并且可以通过 SSH 进行连接。
  • 根据网络条件调整带宽限制或启用压缩,以达到最佳性能。
  • 在使用 rsync 时确保目标路径以斜杠(/)结尾,以防止目录结构错误。

以上方法可以帮助你快速且安全地在两台 Linux 机器之间传输文件。