scp命令-远程文件复制

297 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、命令详解

1.1【功能说明】

scp命令用于在感觉同的主机之间复制文件,它采用ssh协议来保证复制的安全性。scp命令每次都是全是完整复制,因此效率不高,适合第一次复制时使用,增量复制建议使用rsync命令替代。

1.2【语法格式】

usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
           [-l limit] [-o ssh_option] [-P port] [-S program]
           [[user@]host1:]file1 ... [[user@]host2:]file2

1.3【选项说明】

scp参数选项

  • -C 压缩传输
  • -l 指定传输占用的带宽,单位Kbit/s
  • -P port 大写的P,指定传输的端口号
  • -p 小定的p,传输后保留文件原始属性
  • -q 不显示传输进度条
  • -r 递归复制整个目录

二、使用范例

2.1 推送文件或目录

从本地服务器复制到远程服务器

scp -p /etc/services 192.168.2.123:/tmp

说明:

  1. 第一次scp就和ssh第一次登录一下,需要输入远程机器密码
  2. 使用-p保持文件属性传输

2.2 拉取

从远程服务器将数据复制到本地服务器

scp -rp 192.168.2.123:/tmp .

说明:

  1. 本地服务器本身即使有这些文件,还是会消耗带宽来复制文件,也说明了scp是全量复制

三、扩展知识

3.1 安装scp

# centos下安装scp
yum install -y openssh-clients

四、命令总结

  • 2022/12/18 scp平时在服务器间传输小文件还是很常用的