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 可能更方便。
posted @ 2025-11-19 15:05  guanyubo  阅读(368)  评论(0)    收藏  举报