您的位置:

使用 SCP 命令实现 Linux 服务器间文件传输

一、SCP 简介

SCP(Secure Copy)是在 Linux 系统中利用 SSH 协议进行安全文件传输的命令。它提供了一种方便快捷的方法,可以在多个 Linux 主机之间高效地复制文件和目录。

SCP 命令具有如下特点:

  • SCP 命令基于 SSH 协议,因此传输过程是安全的。
  • SCP 命令可以对文件和目录进行传输。
  • SCP 命令可以对传输过程做一些限制,如传输的速度、传输的方向等。

二、SCP 命令语法

下面是 SCP 命令的基本语法:

scp [可选参数][必选参数] 文件源路径 目标路径

其中:

  • 可选参数:指定 SCP 命令的选项,如传输的速度、传输的方向等。
  • 必选参数:指定文件源路径和目标路径。
  • 文件源路径:要传输的文件或目录在本地计算机上的路径。
  • 目标路径:要传输到的远程 Linux 机器的路径。可以使用绝对路径或相对路径。当使用相对路径时,目标路径的根目录为用户主目录。

三、SCP 命令实例

1. 本地主机传输文件至远程主机

执行以下命令可以将本地主机的 /file_path/file.txt 文件传输至远程主机 user@remote_host:/target_directory 目录下:

scp /file_path/file.txt user@remote_host:/target_directory

如果远程主机需要通过 SSH 密码登录,会提示输入密码。如果已经配置了无密码登录,可以直接将文件传输到目标主机。

2. 远程主机传输文件至本地主机

执行以下命令可以将远程主机的 /file_path/file.txt 文件传输至本地主机 /target_directory 目录下:

scp user@remote_host:/file_path/file.txt /target_directory

如果使用密码登录,会提示输入密码。

3. 通过 SCP 命令传输目录

执行以下命令可以将本地主机的 /dir_path 目录传输至远程主机 user@remote_host:/target_directory 目录下:

scp -r /dir_path user@remote_host:/target_directory

在传输目录时需要加上 -r 选项,表示传输目录的递归子目录和文件。

4. SCP 命令传输的其他选项

下表列出了 SCP 命令的一些有用的选项:

选项 描述
-P 指定 SSH 连接的端口。
-l 限制传输速度,以增加其他应用程序的网络带宽。
-C 开启压缩传输,可以提高传输速度。
-o 指定 SSH 配置选项。

四、SCP 命令注意事项

SCP 命令虽然易于使用,但在使用时需要注意以下事项:

  • SCP 命令传输过程使用了 SSH 的加密机制,传输的数据是加密的,但是密码是明文传输,因此需要确保 SSH 密码在传输过程中是安全的。
  • SCP 命令默认使用的是 SSH 的端口 22,如果使用了其他端口,则需要通过 -P 选项指定端口号。
  • SCP 命令默认使用递归传输目录,因此需要小心使用,确保不会覆盖已有的文件。