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

相关推荐
Xの哲學21 分钟前
Linux Tasklet 深度剖析: 从设计思想到底层实现
linux·网络·算法·架构·边缘计算
dog25027 分钟前
Linux 6.19 TCP 的两个极限拉扯
linux·运维·tcp/ip
新兴AI民工1 小时前
【Linux内核九】进程管理模块:list_head钩子构造双向列表和一些宏定义
linux·运维·list·linux内核
小周学学学1 小时前
ESXI故障处理-重启后数据存储丢失
linux·运维·服务器
哎哟喂呢哈1 小时前
ddns 免费 ipv6
linux
Flash.kkl1 小时前
Linux——线程的同步和互斥
linux·开发语言·c++
sunfove1 小时前
Python 面向对象编程:从过程式思维到对象模型
linux·开发语言·python
王九思1 小时前
Ansible 自动化运维介绍
运维·自动化·ansible
小宇的天下1 小时前
Calibre 3Dstack --每日一个命令day13【enclosure】(3-13)
服务器·前端·数据库
三不原则1 小时前
实战:基于 GitOps 实现 AI 应用的自动化部署与发布
运维·人工智能·自动化