Linux中的scp 如何使用

scp(Secure Copy Protocol)是一个用于在不同计算机之间安全地传输文件的命令行工具。它基于 SSH(Secure Shell)协议,因此传输过程是加密的。以下是一些常见的 scp 用法示例:

基本语法

bash 复制代码
scp [options] source_file destination

常见的用法示例

  1. 从本地复制文件到远程服务器

    bash 复制代码
    scp /path/to/local/file username@remote_host:/path/to/remote/directory

    示例:

    bash 复制代码
    scp /home/user/file.txt user@192.168.1.2:/home/user/
  2. 从远程服务器复制文件到本地

    bash 复制代码
    scp username@remote_host:/path/to/remote/file /path/to/local/directory

    示例:

    bash 复制代码
    scp user@192.168.1.2:/home/user/file.txt /home/localuser/
  3. 从本地复制目录到远程服务器 (使用 -r 选项递归复制目录):

    bash 复制代码
    scp -r /path/to/local/directory username@remote_host:/path/to/remote/directory

    示例:

    bash 复制代码
    scp -r /home/user/directory user@192.168.1.2:/home/user/
  4. 从远程服务器复制目录到本地 (使用 -r 选项递归复制目录):

    bash 复制代码
    scp -r username@remote_host:/path/to/remote/directory /path/to/local/directory

    示例:

    bash 复制代码
    scp -r user@192.168.1.2:/home/user/directory /home/localuser/

常用选项

  • -P port:指定连接的端口号(默认是 22)。

    bash 复制代码
    scp -P 2222 /path/to/local/file username@remote_host:/path/to/remote/directory
  • -i identity_file:指定用于身份验证的私钥文件。

    bash 复制代码
    scp -i /path/to/private_key /path/to/local/file username@remote_host:/path/to/remote/directory
  • -C:启用压缩。

    bash 复制代码
    scp -C /path/to/local/file username@remote_host:/path/to/remote/directory

注意事项

  1. SSH 配置scp 使用 SSH 进行连接,因此你需要确保远程服务器上已经配置了 SSH 并且你有正确的访问权限。
  2. 权限问题:确保你在目标目录有写权限,否则会导致传输失败。
  3. 网络连接:确保本地计算机和远程服务器之间的网络连接正常。

总结

scp 是一个强大且易于使用的工具,用于在不同计算机之间安全地传输文件。通过掌握基本的语法和常见选项,你可以高效地进行文件传输操作。

相关推荐
枷锁—sha16 分钟前
【DVWA系列】——CSRF——Medium详细教程
android·服务器·前端·web安全·网络安全·csrf
枷锁—sha18 分钟前
跨站请求伪造漏洞(CSRF)详解
运维·服务器·前端·web安全·网络安全·csrf
scuter_yu18 分钟前
腾讯云云服务器深度介绍
服务器·云计算·腾讯云
云途行者27 分钟前
使用 docker 安装 openldap
运维·docker·容器
群联云防护小杜34 分钟前
深度隐匿源IP:高防+群联AI云防护防绕过实战
运维·服务器·前端·网络·人工智能·网络协议·tcp/ip
YuTaoShao1 小时前
【LeetCode 热题 100】994. 腐烂的橘子——BFS
java·linux·算法·leetcode·宽度优先
退役小学生呀1 小时前
十五、K8s可观测能力:日志收集
linux·云原生·容器·kubernetes·k8s
van叶~1 小时前
Linux探秘坊-------15.线程概念与控制
linux·运维·服务器
Andy杨3 小时前
20250718-1-Kubernetes 应用程序生命周期管理-应用部署、升级、弹性_笔记
linux·docker·容器
2301_780789665 小时前
UDP和TCP的主要区别是什么
服务器·网络协议·web安全·网络安全·udp