在本教程中,我们将向您展示如何在 Linux 上使用 scp 命令。 对于那些不知道的人,SCP(安全复制)是 Linux 和类 Unix 系统中的命令行工具,用于通过网络安全地跨系统传输文件和目录。 它使用 Secure Shell SFTP 子系统进行数据传输,并使用相同的身份验证,并提供与 Secure Shell 相同的安全性。 如果身份验证需要,Scp 将要求输入密码或密码短语。 默认情况下,SCP 命令包含在 Linux 和 Mac 中,因此您无需使用这些操作系统下载任何内容。
本文假设您至少具有 Linux 的基本知识,知道如何使用 shell,并且最重要的是,您在自己的 VPS 上托管您的站点。 安装非常简单,假设您在 root 帐户中运行,否则您可能需要添加 ‘sudo
‘ 获取 root 权限的命令。 我将通过实践示例向您展示在 Linux 上逐步使用 scp 命令。
在 Linux 上使用 SCP 命令
SCP(安全复制)是一个命令行实用程序,允许您在两个位置之间安全地复制文件和目录。
- SCP 命令的基本语法。
缺省情况下,SCP协议在端口上运行 22
除非被命令行选项覆盖。 全部 scp
命令遵循以下形式:
[[email protected] ~]# scp [OPTIONS] [SOURCE] [DESTINATION]
- 将本地文件传输到远程目标。
例如,我们将文件从本地计算机上传到远程位置。 使用 SCP,我们可以使用如下命令完成此操作:
[[email protected] ~]# scp path/to/local/file.txt [email protected]:path/to/remote/file.txt
运行上述命令后,将显示与远程主机用户帐户对应的密码的提示。 输入密码后,文件将被复制。
- 将远程文件传输到本地目标。
现在我们可以将文件从远程计算机复制到我们的本地计算机:
[[email protected] ~]# scp [email protected]:path/to/remote/file.txt path/to/local/file.txt
- 将远程文件传输到远程目标。
运行以下命令格式用于在两个远程主机之间传输文件:
[[email protected] ~]# scp [email protected]:path/to/remote/file.txt [email protected]:path/to/remote/file.txt
- 复制目录。
这 -r
该标志可用于递归复制文件夹及其内容而不是单个文件:
[[email protected] ~]# scp -r path/to/local/my-folder [email protected]:path/to/remote/my-folder
- 抑制模式。
这 -q
标志抑制进度表和非错误消息,因此您的终端保持干净:
[[email protected] ~]# scp -q path/to/local/file.txt [email protected]:path/to/remote/file.txt
- 身份验证密钥对文件。
这 -i
该标志可用于使用存储在文件中的加密密钥对而不是用户名和密码来验证连接:
[[email protected] ~]# scp -i path/to/local/keypair.pem path/to/local/file.txt [email protected]:path/to/remote/file.txt
- 使用多个 SCP 选项。
这是一个示例,它实现了多个标志以使用密钥对文件在端口 999 上进行身份验证,同时保留文件属性并抑制输出,以将文件夹从远程主机复制到我们的本地计算机:
[[email protected] ~]# scp -p -q -P 999 -i path/to/local/keypair.pem -r path/to/local/folder [email protected]:path/to/remote/folder
恭喜! 您已成功学会使用 SCP命令. 感谢您使用本教程,我们涵盖了从本地主机到远程主机、从远程主机到本地主机以及在 Linux 系统上的两个远程主机之间传输文件。