正在为 Linux 安全复制命令而烦恼吗?使用此 scp 示例
Linux 中 scp 命令的可怕语法是否让您感到困惑?查看这些 scp 示例以清除问题。
scp 命令可让您在两个不同的主机之间高效地复制文件。 scp 的语法重用了 cp 的语法,因此大多数 Linux 用户应该感到熟悉。
scp 命令的棘手之处在于源或目标可能是远程的,即连接到与本地网络不同的另一个网络的计算机。指定要复制的文件时,您还需要包含有关远程主机的详细信息。这包括其 IP 地址和用户名。
使用 scp 命令上传文件
一般 scp 语法为:
scp source destination
请注意,这与 cp 命令的语法本质上相同。
最简单的 scp 示例是您可能最常用的示例:将文件从本地计算机上传到远程服务器。在这种情况下,命令的源部分很简单,而目标则更为复杂:
scp index.html bobby@example.org:/var/www/html/
这会将名为 index.html 的本地文件复制到远程主机。您可以像为任何其他命令指定文件一样指定它。它可以是对文件的绝对或相对引用。因此,index.html、../index.html 和 /home/bobby/index.html 是您可能使用的不同方式指定本地文件。
示例中的目的地是 bobby@example.org:/var/www/html/。这意味着:
用户 bobby 将成为远程服务器上新文件的所有者。该用户需要存在,并且您应该能够访问它。
我们将文件上传到的服务器的主机名是 example.org。我们在此处指定了域,但您也可以使用 IP 地址。
在该服务器上,scp 会将文件上传到 /var/www/html/ 目录。
输入该命令后,终端通常会提示您输入在远程计算机上指定的用户的密码。
下载整个目录
这是一个稍微复杂的变体,它下载整个目录:
scp -rpC bobby@example.org:/tmp/docs /home/bobby
首先,您应该注意到源现在是远程计算机,而目标是本地计算机。除了顺序切换之外,这些源和目的地详细信息也应该熟悉。但这个例子还引入了三个有用的标志:
-r: 递归下载整个目录。它将传输 /tmp/docs 内的所有文件。这对于快速备份或传输大量文件非常有用,特别是当您没有远程主机的登录访问权限时。
-p:保留原始文件的文件时间戳和模式。您的本地副本将具有与其原始副本相同的创建时间或写入权限。
-C: 启用压缩。如果您要传输大量文件,这可以加快传输速度,尤其是当您使用的连接速度较慢时。
scp 命令几乎和 cp 一样简单
scp 命令的基本用法很简单:它与 cp 相同。主要区别在于 scp 需要远程服务器的更多详细信息。然而,与 cp 一样,有一些有用的标志来扩展基本功能。其中包括压缩和递归复制以提供多个文件下载。
如果您被要求管理 Linux 服务器,掌握 scp 命令会派上用场。对于从事服务器管理的人员来说,进行备份和远程数据传输是一项日常任务。