SCP命令使用指南与技巧
scp 命令用于在本地和远程主机之间安全地传输文件,它基于 SSH 协议,提供了加密的数据传输。
下面这个表格汇总了 scp 的常见使用场景和命令格式,你可以快速查阅:
| 使用场景 | 基本命令格式 |
|---|---|
| 上传文件到远程主机 | scp /本地/文件.txt 用户名@远程IP:/目标路径/ |
| 从远程主机下载文件 | scp 用户名@远程IP:/远程/文件.txt /本地/路径/ |
| 上传目录到远程主机 | scp -r /本地/目录/ 用户名@远程IP:/目标路径/ |
| 从远程主机下载目录 | scp -r 用户名@远程IP:/远程/目录/ /本地/路径/ |
| 在两台远程主机间传输 | scp 用户1@主机1:/路径/文件 用户2@主机2:/目标路径/ |
💡 常用选项与技巧
掌握一些常用选项可以让你更灵活地使用 scp:
- 指定端口:如果远程主机的 SSH 服务不在默认的 22 端口,可以使用
-P选项指定端口,例如scp -P 2222 本地文件 用户名@主机:/路径/。 - 压缩传输:使用
-C选项可以启用压缩,在传输大文件时有助于减少传输时间。 - 保留属性:使用
-p选项可以在传输后保留原始文件的修改时间、访问时间和权限等属性。 - 使用密钥认证:如果配置了 SSH 密钥对,可以使用
-i选项指定私钥文件进行身份验证,例如scp -i ~/.ssh/私钥文件 本地文件 用户名@主机:/路径/。 - 详细输出:在排查连接或传输问题时,可以加上
-v选项,让scp输出详细的调试信息。
⚠️ 注意事项
使用 scp 时,有几点需要特别注意:
- 覆盖无提示:
scp在目标路径已存在同名文件时会直接覆盖,且不会给出提示。传输前请确认目标路径。 - 目录与符号链接:使用
-r递归复制目录时,scp会遵循目录中的符号链接(软链接),这可能导致传输的数据量超出预期。 - 路径格式:在指定远程文件路径时,建议使用绝对路径,以避免混淆。
🔄 与其他工具的比较
scp 简单易用,非常适合一次性的安全文件传输。但在某些场景下,其他工具可能更合适:
rsync:如果你需要同步文件,尤其是大目录或需要增量传输(只传输发生变化的部分)时,rsync是更强大、高效的选择。它也基于 SSH,同样安全。sftp:如果你需要进行交互式的文件操作(如列目录、删除等),基于 SSH 的sftp可能更方便。
Do not communicate by sharing memory; instead, share memory by communicating.

浙公网安备 33010602011771号