Linux scp如何快速传文件?

scp基础语法

scp [选项] 源文件路径 目标文件路径
  • 常用选项
    • -P:指定远程SSH端口(默认为22)
    • -r:递归复制整个目录
    • -C:启用压缩传输
    • -i:指定私钥文件(用于密钥认证)

核心操作场景

本地文件 → 远程服务器

scp /本地/文件.txt 用户名@远程IP:/远程/目录/

示例
将本地的report.pdf复制到远程服务器168.1.100/home/user/docs/目录:

scp ~/documents/report.pdf user@192.168.1.100:/home/user/docs/

远程服务器 → 本地

scp 用户名@远程IP:/远程/文件路径 /本地/目录/

示例
下载远程服务器0.113.5上的/var/log/app.log到本地当前目录:

scp admin@203.0.113.5:/var/log/app.log ./

远程服务器之间传输

scp 用户1@源IP:/文件路径 用户2@目标IP:/目标路径/

示例
serverA/data/backup.zip复制到serverB/backups/

scp john@192.168.1.10:/data/backup.zip mary@192.168.1.20:/backups/

递归复制目录(含子文件)

scp -r /本地/目录/ 用户名@远程IP:/目标路径/

示例
上传整个project/目录到远程:

scp -r ~/project/ dev@example.com:/opt/development/

高级配置技巧

  1. 指定非默认SSH端口
    若远程SSH端口为2222

    scp -P 2222 file.txt user@host:/path/
  2. 使用密钥认证免密码
    通过-i指定私钥:

    scp -i ~/.ssh/id_rsa_private file.txt user@host:/path/
  3. 启用传输压缩(大文件推荐)

    scp -C largefile.iso user@host:/backups/

注意事项

  1. 权限问题

    • 确保目标路径有写入权限(远程用户需具备/目标路径/的写权限)。
    • 本地文件需有读权限。
  2. 安全性

    • 所有传输均通过SSH加密,避免使用明文传输工具(如FTP)。
    • 推荐使用密钥登录而非密码(通过ssh-keygen生成密钥对)。
  3. 路径格式

    • 远程路径格式:用户名@主机:路径
    • 特殊字符(如空格)需用引号包裹:"file name.txt"

常见问题解决

  • 连接超时
    检查防火墙是否放行SSH端口,或确认远程IP是否正确:

    ssh user@host  # 先测试SSH连通性
  • Permission denied

    1. 确认远程目录权限:chmod 755 /目标路径
    2. 检查密钥权限:chmod 600 ~/.ssh/id_rsa
  • 命令无响应
    使用-v参数查看详细日志:

    scp -v file.txt user@host:/path/

scp是Linux系统管理员和开发者的核心工具之一,兼顾安全性与效率,通过掌握基础命令与场景化操作,可轻松实现跨服务器文件管理,对于更复杂的传输任务(如增量同步),可进阶学习rsync命令,但scp在简单场景中仍是首选方案。

引用说明基于Linux man-pages的scp文档(v8.4)及OpenSSH官方实践指南,确保信息的准确性与安全性,操作示例已在Ubuntu 22.04/CentOS 7环境中验证。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9973.html

(0)
酷番叔酷番叔
上一篇 2025年8月8日 08:45
下一篇 2025年8月8日 09:01

相关推荐

  • linux中如何解压缩tar.bz2

    Linux 中,可以使用 tar 命令结合 -xjf 选项来解压缩 .tar.bz2 文件,`tar -xjf filename.

    2025年8月15日
    19500
  • Linux下如何使用动态库和静态库?

    在Linux开发中,静态库和动态库是程序模块化的重要工具,它们通过不同的链接方式影响程序的可执行文件大小、内存占用和更新维护效率,理解两者的创建、使用及差异,能帮助开发者优化项目结构,静态库的创建与使用静态库(.a文件)是在编译阶段将库代码完整链接到可执行文件中,运行时无需额外依赖,创建步骤生成目标文件:使用g……

    2025年8月25日
    18700
  • 如何删除Linux子目录下的文件?

    在Linux系统中,删除子目录文件是日常运维和开发中常见的操作,但不同场景需要选择不同的命令和方法,以确保操作安全且高效,以下是详细的操作指南,涵盖常用命令、参数说明及注意事项,基础删除命令:rm 与 rmdirrm 命令:通用删除工具rm 是最常用的删除命令,支持删除文件、目录(需配合参数),核心参数如下……

    2025年10月6日
    18700
  • Linux下如何正确挂载移动硬盘?

    在Linux系统中挂载移动硬盘是日常使用中常见的操作,无论是数据备份、文件传输还是跨系统共享,正确挂载都能让移动硬盘高效融入Linux环境,整个过程涉及设备识别、文件系统匹配、挂载点创建及权限配置等步骤,下面将详细拆解操作流程,并针对常见问题提供解决方案,准备工作:确认移动硬盘状态在挂载前,需先确保Linux系……

    2025年8月25日
    15800
  • Linux如何安装zip解压工具?

    安装前的准备更新软件包列表(确保获取最新版本)执行以下命令更新本地软件源缓存:sudo apt update # Debian/Ubuntu 系sudo dnf check-update # Fedora/RHEL 8+sudo yum check-update # CentOS/RHEL 7检查是否已安装运行……

    2025年7月13日
    20400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信