知识分享之Linux——scp的常用命令

知识分享之Linux——scp的常用命令

 

背景

日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。
同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。

开发环境

  • 系统:Ubuntu

内容

在使用Linux系统时,我们经常需要将一台服务器中的文件或文件夹移动到另一台服务器中,这时我们就需要使用scp命令,scp全称是secure copy,其本身是基于ssh进行远程文件复制的命令。

语法:

scp [可选参数][原始路径][目的路径]

这里我们的原始路径和目的路径都可以写为远程路径或本地路径,当然更多的时候我们使用起来是一个本地路径一个远程路径。

常用参数:

命令描述
-1 或 -2主要用于指定使用的协议是ssh1或者是ssh2
-4 或 -6主要用于指定使用的网络协议是IPv4还是IPv6
-B直接使用批处理模式,不询问传输口令或短语
-C启用压缩
-p保留原文件的操作信息,例如修改时间、权限等
-q不显示进度条
-r递归复制整个目录
-v显示详细信息。
-c cipher以cipher将数据传输进行加密
-F ssh_config使用自定义ssh配置文件
-i identity_file从指定文件中读取传输时使用的密钥文件
-l limit限定复制过程中使用的带宽,以Kbit/s为单位。
-o ssh_option采用ssh_config(5)中的参数传递方式。
-P port数据传输时使用的端口号
-S program自定义加密程序

常用命令:

1、从本地复制文件到远程

scp 本地文件 远程用户名@远程服务器IP:远程服务器中的存储地址

2、从本地复制文件夹到远程

scp -r 本地文件 远程用户名@远程服务器IP:远程服务器中的存储地址

这个命令和cp差不多都是-r进行表示递归整个目录
3、从远程复制到本地

scp -r 远程用户名@远程服务器IP:远程服务器中的存储地址 本地文件

其实本质在开始时就讲到了,原地址和目的地址都可以使用远程地址,这时我们需要从远程复制到本地直接将其地址调换一下即可,同理-r依旧是指的递归整个目录,复制文件时将-r去掉即可。
4、遇到防火墙时复制

scp -P 11100 本地文件 远程用户名@远程服务器IP:远程服务器中的存储地址

根据放开的端口号进行指定即可,要是都没有放开,那就没得玩了。

注:在复制的过程中需要确保本地和远程相关目录均具有相关文件的操作权限,否则复制失败,例如本地是root,远端是一个user1,这时如果文件复制时带着权限过去,那就会失败。

本文声明:

88x31.png

知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

CN華少

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

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

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

打赏作者

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

抵扣说明:

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

余额充值