Linux命令:scp

目录

简介

一、语法

二、示例

2.1 将本地文件复制到远程主机目录

2.2 将本地目录复制到远程主机目录

2.3 将远程主机的文件复制到本机

2.4 复制远程主机目录到本机


简介

今天我们来介绍一个Linux命令:scp

scp — secure copy (remote file copy program),意思安全拷贝,安全复制的意思,是一个远程文件复制程序。准确来说就是不同服务器之间进行文件(包括目录)进行安全复制的命令。scp基于加州大学Regents的BSD源代码中的rcp程序。

如何安全的呢?

通过 SSH 协议安全地将文件复制到远程系统和从远程系统复制文件到本地的命令。使用 SSH 意味着它享有与 SSH 相同级别的数据加密,因此被认为是跨两个远程主机传输文件的安全方式。

一、语法

语法介绍:

scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file] [-J destination] [-l limit] [-o ssh_option] [-P port] [-S program] source ... target

有这么多参数?是的,确实是。如果不信,可以使用以下命令查看:

man scp

这么多参数,我们大多用不到,我们介绍几个常用的即可。

-P port:Specifies the port to connect to on the remote host.  Note that this option is written with a capital ‘P’, because -p is already reserved for preserving the times and modes of the file.

-p      Preserves modification times, access times, and modes from the original file.

翻译过来就是:

-P: 指定要连接到远程主机上的端口。请注意,此选项使用大写“P”编写,因为-P已被保留用于保存文件的时间和模式。

-p:保留原始文件的修改时间、访问时间和模式。

 -r Recursively copy entire directories. Note that scp follows symbolic links encountered in the tree traversal.

 翻译过来就是:

-r:递归复制整个目录。注意,scp遵循在树遍历中遇到的符号链接。

 -C Compression enable. Passes the -C flag to ssh(1) to enable compression.

 翻译过来就是:

 -C:压缩启用。将-C标志传递给ssh(1)以启用压缩。

总结如下:

-P:指定端口。默认是22,不需要指定;如果不是22,则用大写P指定端口。

-p:保留原始文件的修改时间、访问时间和模式。

-r:递归复制整个目录。复制目录是必不可少。

-C:压缩文件。

二、示例

2.1 将本地文件复制到远程主机目录

scp redis.conf root@k8s-node02:/usr/local/redis-cluster/slave-6381/conf

将本机的当前目录的redis.conf文件,通过远程主机的用户root,复制到k8s-node02主机的22端口的/usr/local/redis-cluster/slave-6381/conf目录。

其中k8s-node02可以替换为远程主机的ip,22端口是默认的不用填写,root是远程主机的用户名。

执行该命令后会有提示:

 意思是:

无法确定主机“k8s-master01(192.168.222.100)”的真实性。

ECDSA密钥指纹为SHA256:nbOQMg0kDl5DW/jNRip8WsjbGKqzS/CIUuir7EWIB1Q。

是否确实要继续连接(是/否/[指纹])?

 我们此时输入yes,然后输入远程主机的密码即可,如果成功会显示复制成功的文件:redis.conf。

2.2 将本地目录复制到远程主机目录

我们创建一个目录,然后在该目录下创建一个文件,最后将该目录连同文件一起复制到远程主机。

scp -r test root@k8s-master01:/usr/local/redis-cluster/slave-6381/

现在去k8s-master01主机的/usr/local/redis-cluster/slave-6381/目录下查看一番。

2.3 将远程主机的文件复制到本机

 我们先删掉本地目录下的test-scp.txt文件,然后将k8s-master01主机的该文件复制过来。

scp root@k8s-master01:/usr/local/redis-cluster/slave-6381/test/test-scp.txt ./

上面的./可以修改为你想要的目录,这里的./指的是当前主机的当前目录。

我们下面要删除整个test目录,然后将远程主机的目录复制过来。

2.4 复制远程主机目录到本机

scp -r root@k8s-master01:/usr/local/redis-cluster/slave-6381/test ./

 

  • 16
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北冥牧之

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值