SCP 命令教程:安全文件传输指南

SCP(Secure Copy Protocol)是基于 SSH 的安全文件传输协议,适用于 本地与远程服务器之间两个远程服务器之间 加密传输文件。本教程涵盖常用场景和进阶技巧。


📖 核心语法

scp [参数] 源文件路径 目标路径

路径格式说明

类型格式示例说明
本地路径/home/user/file.txt直接使用绝对或相对路径
远程路径user@remote:/path/to/file需包含用户名、主机名/IP和路径

🚀 常用场景

1. 本地 → 远程服务器

# 上传单个文件
scp local_file.txt user@remote_host:/target/directory/

# 上传整个目录(递归操作)
scp -r local_folder/ user@remote_host:/remote/path/

2. 远程服务器 → 本地

# 下载单个文件
scp user@remote_host:/remote/file.txt /local/directory/

# 下载目录(保留权限)
scp -rp user@remote_host:/remote/folder/ ./local_backup/

3. 服务器间直接传输

# 无需经过本地中转
scp user1@host1:/path/file user2@host2:/destination/

🔧 关键参数详解

参数作用示例
-P指定 SSH 端口(默认22)scp -P 2222 file.txt user@host:/path
-r递归复制目录scp -r dir/ user@host:/backup
-p保留文件修改时间和权限scp -p data.log user@host:/logs
-l限速(单位:Kbit/s)scp -l 512 large_file.iso user@host:/
-v显示详细传输过程(调试用)scp -v debug.log user@host:/tmp
-C启用压缩(节省带宽)scp -C archive.tar.gz user@host:/

⚠️ 注意事项

  1. 路径准确性
    • 远程路径需写绝对路径(如 /home/user/
    • 使用 ~ 可能因环境不同导致错误
  2. 覆盖风险
    SCP 默认覆盖同名文件,建议先备份
  3. 通配符处理
# 错误!SCP不支持远程路径通配符
scp user@host:/tmp/*.log ./  
# 正确方式:先在远程执行 tar 压缩
ssh user@host "tar czf - /tmp/*.log" | tar xzf - -C ./

🔍 错误处理

错误现象解决方案
Permission denied检查目标目录写入权限,或使用 sudo
No such file or directory确认路径是否存在(区分大小写)
Connection refused检查 SSH 服务状态和防火墙规则
Host key verification failed删除 ~/.ssh/known_hosts 中对应条目

🛠️ 替代工具对比

工具优点适用场景
rsync增量同步、断点续传大文件/定期备份
sftp交互式操作、文件管理需要浏览目录结构时
curl支持 HTTP/FTP 协议非SSH环境下的简单传输

💡 实战示例

压缩传输大文件

# 本地压缩后传输(节省带宽)
tar czf - big_folder | scp -C - user@host:/backup/

跨跳板机传输

# 通过跳板机中转(-o ProxyJump)
scp -o ProxyJump=jump_user@jump_host file.txt target_user@target_host:/

掌握 SCP 可显著提升服务器管理效率。建议结合 rsync 处理频繁更新的文件,并通过 man scp 查看完整文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我不是少爷.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值