挣扎于 Linux 安全复制命令? 使用这个 scp 示例

scp 命令可让您在两个不同的主机之间有效地复制文件。 scp 的语法重用了 cp 的语法,因此大多数 Linux 用户应该会觉得它很熟悉。

scp 命令的棘手之处在于源或目标可能是远程的,即连接到另一个网络的计算机,与本地网络不同。 在指定要复制的文件时,您还需要包含有关远程主机的详细信息。 这包括其 IP 地址和用户名。

使用 scp 命令上传文件

一般的 scp 语法是:

scp source destination

请注意,这与 cp 命令的语法本质上是相同的。

最简单的scp example 可能是您最常使用的一种:将文件从本地计算机上传到远程服务器。 在这种情况下, 来源 命令的一部分很简单, 目的地 更复杂:

scp index.html [email protected]:/var/www/html/

这将复制一个名为 索引.html 到远程主机。 您可以像为任何其他命令指定文件一样指定它。 它可以是对文件的绝对或相对引用。 所以, 索引.html, ../index.html, 和 /home/bobby/index.html 是您可以用来指定本地文件的不同方式。

目的地在 example 是 鲍比@example.org:/var/www/html/. 这意味着:

  1. 用户 鲍比 将是远程服务器上新文件的所有者。 该用户将需要存在,并且您应该能够访问它。
  2. 我们将文件上传到的服务器的主机名是 example.org. 我们在此处指定了域,但您也可以使用 IP 地址。
  3. 在该服务器上,scp 会将文件上传到 /var/www/html/ 目录。

输入该命令后,您的终端通常会提示您输入您在远程计算机上指定的用户的密码。

下载整个目录

这是下载整个目录的稍微复杂的变体:

scp -rpC [email protected]:/tmp/docs /home/bobby

首先,你应该注意到 来源 现在是一台远程机器,而 目的地 是本地的。 除了顺序切换,这些来源和目的地的细节应该是熟悉的。 但是这个 example 还引入了三个有用的标志:

  1. -r: 递归下载整个目录。 它将传输里面的所有文件 /tmp/文档. 这对于快速备份或传输大量文件非常有用,尤其是在您没有远程主机登录访问权限的情况下。
  2. -p: 保留原始文件的文件时间戳和模式。 您的本地副本将具有与原始副本相同的创建时间或写入权限。
  3. -C: 启用压缩。 如果您要传输大量文件,这可以加快速度,尤其是在您使用慢速连接的情况下。

scp 命令几乎和 cp 一样简单

scp 命令的基本用法很简单:它与 cp 相同。 主要区别在于 scp 需要更多远程服务器的详细信息。 但是,与 cp 一样,有一些有用的标志来扩展基本功能。 这些包括压缩和递归复制以提供多文件下载。

如果您被要求管理 Linux 服务器,掌握 scp 命令会派上用场。 进行备份和远程数据传输是服务器管理人员的日常任务。