Linux 中的 SCP 命令:如何使用它,并举例Linux 中的 SCP 命令:如何使用它,并举例Linux 中的 SCP 命令:如何使用它,并举例Linux 中的 SCP 命令:如何使用它,并举例
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

Linux 中的 SCP 命令:如何使用它,并举例

发表 admin at 2025年2月28日
类别
  • 未分类
标签

如果您正在寻找该领域的工作,拥有安全传输数据等基本技能至关重要。

scp(安全复制)命令使用 SSH 将数据从一台主机传输到另一台主机,并使用 SSH 相同的身份验证和安全性。但是,该命令依赖 SSH 进行数据传输,需要 ssh 密钥或密码才能在远程系统上进行身份验证。

使用 scp 传输数据时,文件和密码都会加密,因此任何窥探流量的人都不会获取任何敏感信息。因此,这是在网络上传输数据的最安全的方法之一。

Linux 中的 scp 命令有 3 种使用方式:

  • 从远程服务器复制到本地计算机。
  • 另外,从本地计算机复制到远程服务器。
  • 从远程服务器复制到另一远程服务器。

SCP 命令语法

scp 命令的语法为:

scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
scp
  • -P:指定服务器SSH端口
  • -p:保留文件的权限、模式和访问时间(注意小写)
  • -q:安静模式,不显示进度或消息
  • -C:传输时压缩数据
  • -r:递归 - 包括子目录及其内容
  • -i:身份文件或私钥

如何在Linux中使用SCP命令

将本地文件传输到远程服务器

将file.txt从本地系统的当前目录复制到远程服务器的/tmp目录。

scp file.txt user@remotehost:/tmp/

将文件从远程服务器传输到本地计算机

以下命令会将 /tmp/file.txt 从远程服务器复制到本地计算机的用户主目录下。

scp user@remotehost:/tmp/file.txt /home/user

递归地将本地目录传输到远程服务器

您可以在 Linux 中使用 scp 命令中的 -r 选项将整个目录从一个系统递归复制到另一个系统。

以下命令会将 /home/user/myfiles 目录从本地计算机复制到远程服务器的 /tmp 目录。

scp -r /home/user/myfiles user@remotehost:/tmp/

将目录从远程服务器递归传输到本地

以下命令将从远程服务器递归地将 /tmp/serverfiles 目录复制到本地计算机的用户主目录下。

scp -r user@remotehost:/tmp/serverfiles /home/user

将多个文件传输到远程服务器

在以下示例中,源主机中的文件 file1.txt 和 file2.txt 被复制到远程服务器的 /tmp 目录。

scp file1.txt file2.txt user@remotehost:/tmp/

通过启用压缩提高传输速度

您可以通过使用 -C 选项启用压缩来提高传输速度。它将自动允许在源主机上压缩并在目标主机上解压缩。

以下命令会将 /home/user/myfiles 目录从本地计算机递归复制到远程服务器的 /tmp 目录,并启用压缩。

scp -r -C /home/user/myfiles user@remotehost:/tmp/

指定不同的 SSH 端口

有时目标主机上的 SSH 端口会发生更改,因此在 Linux 中使用 scp 命令时,您可以使用 -P 选项指定 SSH 端口号。

以下命令将使用端口 2222 将 file.txt 从本地系统的当前目录复制到远程服务器的 /tmp 目录。

scp -P 2222 file.txt user@remotehost:/tmp/

保留文件的权限、模式和访问时间

使用 scp 命令中的 -p 选项可在复制文件时保留权限、访问时间和模式。

以下命令会将 file.txt 从本地系统的当前目录复制到远程服务器的 /tmp 目录,并保留其属性。

scp -p file.txt user@remotehost:/tmp/

在 SCP 命令中使用识别文件

在 SSH 会话期间使用 SSH 密钥而不是密码时,-i 标志允许您选择从中读取用于公钥身份验证的身份(私钥)的文件。

以下命令将使用 my_second_indent.pem 私有文件将 file.txt 从本地系统的当前目录复制到远程服务器的 /tmp 目录密钥文件。

scp -i my_second_indent.pem file.txt user@remotehost:/tmp/

结论

在本教程中,您学习了如何在 Linux 上使用 scp 命令复制文件和目录。这作为 FTP 的替代品特别有用,因为默认情况下 FTP 本质上是不安全的。

您可能还想设置基于 SSH 密钥的身份验证并在不输入密码的情况下连接到 Linux 服务器。

有关 Linux 中 scp 命令的更多信息,请参阅其手册页。

©2015-2025 Norria support@norria.com