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.txt
和 file2.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 的最佳实践
- 使用 SSH 密钥: 使用 SSH 密钥进行安全无密码身份验证。
- 限制带宽: 使用
-l
选项避免网络拥塞。 - 保留权限: 使用
-p
来维护文件权限。 - 测试传输: 在移动大文件之前测试小文件传输。
来源
在本文中,我们探讨了使用 scp
命令进行安全文件传输的各种示例,包括复制文件、目录和保留权限。