一、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 命令默认使用递归传输目录,因此需要小心使用,确保不会覆盖已有的文件。