ZetCode

Linux scp 命令

最后修改时间:2025年3月3日

Linux 中的 scp 命令用于在本地和远程系统之间安全地复制文件和目录。它使用 SSH 进行数据传输,确保加密和身份验证。本教程通过实际示例介绍了 scp 的基本和高级用法。

scp 通常用于在本地和远程机器之间传输文件、复制目录以及保留文件权限。

将文件从本地复制到远程

此示例演示如何将文件从本地计算机复制到远程系统。

scp file.txt user@remote:/path/to/destination

scp 命令将 file.txt 复制到指定路径的远程系统。

将文件从远程复制到本地

此示例显示如何将文件从远程系统复制到本地计算机。

scp user@remote:/path/to/file.txt /local/destination

scp 命令从远程系统检索 file.txt 并将其保存在本地。

递归复制目录

此示例演示如何递归复制目录及其内容。

scp -r /local/directory user@remote:/path/to/destination

-r 选项确保目录及其所有内容都被复制。

保留文件权限

此示例显示如何在传输过程中保留文件权限。

scp -p file.txt user@remote:/path/to/destination

-p 选项保留原始文件权限和时间戳。

限制带宽使用

此示例演示如何限制 scp 使用的带宽。

scp -l 1000 file.txt user@remote:/path/to/destination

-l 选项将带宽限制为 1000 Kbit/s。

使用特定的 SSH 端口

此示例显示如何为传输指定自定义 SSH 端口。

scp -P 2222 file.txt user@remote:/path/to/destination

-P 选项为 SSH 连接指定端口 2222。

复制多个文件

此示例演示如何在一个命令中复制多个文件。

scp file1.txt file2.txt user@remote:/path/to/destination

scp 命令将 file1.txtfile2.txt 都复制到远程系统。

安静模式

此示例显示如何抑制进度和警告消息。

scp -q file.txt user@remote:/path/to/destination

-q 选项启用安静模式,减少输出到终端。

使用特定的 SSH 密钥

此示例演示如何使用特定的 SSH 密钥进行身份验证。

scp -i /path/to/private_key file.txt user@remote:/path/to/destination

-i 选项指定用于 SSH 身份验证的私钥。

scp 的最佳实践

来源

scp 手册

在本文中,我们探讨了使用 scp 命令进行安全文件传输的各种示例,包括复制文件、目录和保留权限。

作者

我叫 Jan Bodnar,是一名充满热情的程序员,拥有丰富的编程经验。自 2007 年以来,我一直在撰写编程文章。至今,我已撰写了 1400 多篇文章和 8 本电子书。我在编程教学方面拥有十多年的经验。

列出所有 Linux 教程