2026/1/18 16:42:25
网站建设
项目流程
做家政网站,网站设计公司 国际,互联网品牌是什么意思,简约网页以下是 Linux 中 scp#xff08;secure copy#xff09;命令的详细讲解#xff0c;涵盖常用用法、选项、典型场景和注意事项#xff0c;适合初学者到中高级用户参考。
1. 什么是 scp 命令#xff1f;
scp 是基于 SSH 协议的文件/目录安全传输工具#xff0c;用于#…以下是 Linux 中scpsecure copy命令的详细讲解涵盖常用用法、选项、典型场景和注意事项适合初学者到中高级用户参考。1. 什么是 scp 命令scp是基于SSH协议的文件/目录安全传输工具用于本地 ↔ 远程服务器远程服务器 ↔ 远程服务器本地 ↔ 本地较少用它比 ftp、rsync默认明文更安全因为数据全程加密。2. 基本语法scp[选项]源地址 目标地址常用格式# 本地 → 远程scp本地文件/目录 用户名远程主机:远程路径# 远程 → 本地scp用户名远程主机:远程文件/目录 本地路径# 远程 → 远程scp用户名1主机1:文件 用户名2主机2:目标路径3. 常用选项一览最重要选项说明示例-r递归复制目录必须加scp -r dir userhost:/path/-P指定 SSH 端口大写 P-P 2222-p保留文件的权限、时间戳等属性常用于备份场景-v显示详细调试信息排查连接问题-q安静模式不显示进度条和警告脚本中常用-C启用压缩传输适合文本文件、大文件节省带宽-i指定私钥文件-i ~/.ssh/mykey-l限制带宽单位 Kbit/s-l 1000≈ 1Mbps-F指定自定义 ssh 配置文件很少用-o传递 ssh 选项如 StrictHostKeyChecking-o StrictHostKeyCheckingno4. 实用示例按场景分类4.1 本地上传到远程服务器# 上传单个文件scpreport.pdf user192.168.1.100:/home/user/docs/# 上传目录必须加 -rscp-r my_project/ user192.168.1.100:/var/www/# 上传到用户家目录可省略路径scpnginx.conf userserver:~/# 指定端口 私钥scp-P2222-i ~/.ssh/id_rsa_prod backup.tar.gz prod203.0.113.5:/backup/4.2 从远程服务器下载到本地# 下载单个文件scpuserserver:/var/log/app.log ./logs/# 下载整个目录scp-r userserver:/home/user/data ./data_backup/# 下载并保留权限/时间戳scp-rp userserver:/etc/nginx/nginx.conf ./nginx.conf.bak4.3 服务器之间传输跳板场景# 从 server1 复制到 server2scpuser1server1:/data/bigfile.zip user2server2:/data/# 通过跳板机本地先到跳板再到目标——更推荐用 rsync 或 ssh 代理4.4 常用高级组合# 压缩传输 递归 保留属性 指定端口scp-Crp -P2222-C big_folder/ userhost:/target/# 限速 5MB/s50000 Kbit/s传输大文件scp-l50000large_video.mp4 userhost:/downloads/# 跳过首次连接的 Are you sure you want to continue connecting? 提示scp-oStrictHostKeyCheckingno -oUserKnownHostsFile/dev/nullfileuserhost:/path# 只传输目录中 .sql 文件scpuserhost:/backup/*.sql ./restore/5. 常见问题与解决问题解决方法提示Permission denied1. 检查用户名/密码/密钥2. 检查目标目录写权限ls -ld 目标目录连接超时 / No route to host检查网络、防火墙、端口默认 22、-P是否写错Host key verification failed1.ssh-keygen -R 主机IP清空旧记录2. 加-o StrictHostKeyCheckingno速度很慢1. 加-C压缩2. 检查网络3. 考虑用 rsync 替代拷贝大量小文件很慢scp 不擅长大量小文件建议改用rsync -avz --progress想看到进度条默认有进度条若没有可加-v或使用rsync6. scp vs rsync 快速对比建议记住项目scprsync协议SSHSSH 或 rsync daemon增量传输不支持支持只传差异部分大量小文件较慢快很多断点续传不支持支持配合--partial保留属性-p-a更全面压缩-C-z进度条友好一般更好推荐场景偶尔传几个文件/目录备份、同步、大目录、频繁传输结论日常简单传输 → 用 scp需要高效、增量、大量文件 → 优先考虑 rsync。7. 小技巧速查# 快速把本地当前目录传到远程同名目录scp-r.userhost:/home/user/project/# 只传目录内容不包含最外层文件夹scp-r ./myapp/* userhost:/var/www/myapp/# 批量上传所有 .zip 文件scp*.zip userhost:~/downloads/希望这篇详解对你有帮助如果有具体场景比如“如何传 100G 数据”“公司内网跳板机怎么传”可以告诉我我再给你更针对性的写法。