scp命令详解

前言

scp(Secure Copy)命令用于在本地和远程主机之间或两个远程主机之间安全地复制文件或目录。它基于 SSH 协议,因此文件传输过程中会进行加密。下面是 scp 命令的基本语法及常见用法,帮助你更好地理解如何使用它。

一. 基本语法

scp [options] source destination
  • source 是源文件或目录的路径,可以是本地路径或者远程路径。
  • destination 是目标文件或目录的路径,也可以是本地路径或远程路径。

二. 常见用法示例

1. 从本地复制文件到远程主机
scp /path/to/local/file username@remote_host:/path/to/remote/destination

例如,将本地的 abc.sh 文件复制到远程主机 192.168.100.20/root 目录:

scp /etc/abc.sh root@192.168.100.20:/root/
  • /etc/abc.sh:本地文件路径。
  • root@192.168.100.20:/root/:远程主机和目标目录。
2. 从远程主机复制文件到本地
scp username@remote_host:/path/to/remote/file /path/to/local/destination

例如,从远程主机 192.168.100.20 上的 /root/abc.sh 文件复制到本地的 /home/user/ 目录:

scp root@192.168.100.20:/root/abc.sh /home/user/
3. 从本地复制目录到远程主机

复制本地目录及其内容到远程主机,可以使用 -r 选项(递归复制目录)。

scp -r /path/to/local/directory username@remote_host:/path/to/remote/destination

例如,将本地的 /home/user/mydir 目录复制到远程主机 /root/ 目录:

scp -r /home/user/mydir root@192.168.100.20:/root/
4. 从远程主机复制目录到本地

同样地,使用 -r 选项可以将远程主机上的目录复制到本地。

scp -r username@remote_host:/path/to/remote/directory /path/to/local/destination

例如,将远程主机 /root/mydir 目录复制到本地 /home/user/ 目录:

scp -r root@192.168.100.20:/root/mydir /home/user/
5. 指定 SSH 端口

如果远程主机使用非默认的 SSH 端口(默认是 22),可以使用 -P 选项指定端口号。

scp -P port /path/to/local/file username@remote_host:/path/to/remote/destination

例如,远程主机使用 2222 端口:

scp -P 2222 /etc/abc.sh root@192.168.100.20:/root/
6. 限制传输带宽

scp 命令允许你通过 -l 选项来限制传输的带宽(以 Kbit/s 为单位)。这在带宽有限时很有用。

scp -l bandwidth_limit /path/to/local/file username@remote_host:/path/to/remote/destination

例如,限制带宽为 500 Kbit/s:

scp -l 500 /etc/abc.sh root@192.168.100.20:/root/
7. 显示传输进度

使用 -v 选项可以启用详细输出,显示传输进度和调试信息。传输过程中会显示每个文件的传输速度和剩余时间。

scp -v /path/to/local/file username@remote_host:/path/to/remote/destination

例如:

scp -v /etc/abc.sh root@192.168.100.20:/root/
8. 使用私钥进行身份验证

如果远程主机要求使用 SSH 密钥进行身份验证,可以通过 -i 选项指定私钥文件。

scp -i /path/to/private_key /path/to/local/file username@remote_host:/path/to/remote/destination

例如,使用 /home/user/.ssh/id_rsa 密钥文件:

scp -i /home/user/.ssh/id_rsa /etc/abc.sh root@192.168.100.20:/root/

三. 常见选项

  • -r:递归复制整个目录。
  • -P:指定 SSH 端口号(注意是大写 -P)。
  • -i:指定 SSH 私钥文件。
  • -v:启用详细模式,显示调试信息。
  • -l:限制带宽,单位为 Kbit/s。
  • -C:启用压缩,适用于大文件传输,减少带宽占用。

四. 示例汇总

  • 本地文件到远程主机

    scp /etc/abc.sh root@192.168.100.20:/root/
  • 远程文件到本地

    scp root@192.168.100.20:/root/abc.sh /home/user/
  • 本地目录到远程主机

    scp -r /home/user/mydir root@192.168.100.20:/root/
  • 远程目录到本地

    scp -r root@192.168.100.20:/root/mydir /home/user/
  • 指定非默认端口

    scp -P 2222 /etc/abc.sh root@192.168.100.20:/root/
  • 使用私钥进行身份验证

    scp -i /home/user/.ssh/id_rsa /etc/abc.sh root@192.168.100.20:/root/
  • 限制带宽

    scp -l 500 /etc/abc.sh root@192.168.100.20:/root/
  • 启用详细输出

    scp -v /etc/abc.sh root@192.168.100.20:/root/

五. 注意事项

  • scp 使用的是 SSH 协议,确保远程主机已经启用了 SSH 服务。
  • 如果目标目录在远程主机上不存在,scp 命令会自动创建目录。
  • 默认情况下,scp 会要求你输入远程主机的密码(除非使用密钥认证)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/917987.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【包教包会】CocosCreator3.x框架——带翻页特效的场景切换

一、效果演示 二、如何获取 1、https://gitee.com/szrpf/TurnPage 2、解压,导入cocos creator(版本3.8.2),可以直接运行Demo演示 三、算法思路 1、单场景 页面预制体 通过loadScene来切换页面,无法实现页面特效。…

拉取docker镜像应急方法

发现许多docker hub镜像网址速度也慢得发指啦,如果想速度快点,可以考虑买个按量计费的公有云服务器,用他们的内网镜像,然后再导出,然后传到本地。 开通服务器 可以考虑个开通最低配的,这里我用的是腾讯的…

Cyberchef配合Wireshark提取并解析HTTP/TLS流量数据包中的文件

本文将介绍一种手动的轻量级的方式,还原HTTP/TLS协议中传输的文件,为流量数据包中的文件分析提供帮助。 如果捕获的数据包中存在非文本类文件,例如png,jpg等图片文件,或者word,Excel等office文件异或是其他类型的二进…

Stable diffusion详细讲解

🌺系列文章推荐🌺 扩散模型系列文章正在持续的更新,更新节奏如下,先更新SD模型讲解,再更新相关的微调方法文章,敬请期待!!!(本文及其之前的文章均已更新&…

机器学习-37-对ML的思考之机器学习发展的三个阶段和驱动AI发展三驾马车的由来

文章目录 1 引言2 机器学习发展的三个阶段2.1 萌芽期(20世纪50年代)2.1.1 达特茅斯会议(人工智能诞生)2.1.2 机器学习名称的由来2.2 知识期(20世纪80年代)2.2.1 知识瓶颈问题2.2.2 机器学习顶级会议ICML2.2.3 Machine Learning创刊2.2.4 神经网络规则抽取2.3 算法期(20世纪90年…

SpringCloud篇(服务网关 - GateWay)

目录 一、简介 二、为什么需要网关 二、gateway快速入门 1. 创建gateway服务,引入依赖 2. 编写启动类 3. 编写基础配置和路由规则 4. 重启测试 5. 网关路由的流程图 6. 总结 三、断言工厂 四、过滤器工厂 1. 路由过滤器的种类 2. 请求头过滤器 3. 默认…

代码段数据段的划分

DPL DPL存储在段描述符中,规定访问该段的权限级别(Descriptor Privilege Level) CPL CPL是当前进程的权限级别(Current Privilege Level),是当前正在指向的代码段所在段的成绩,也就是CS段的DPL RPL RPL说明的是进程对段访问的请求权限(Re…

HTML5+CSS前端开发【保姆级教学】+前端介绍和软件安装

学习了基础编程刚刚开始学习计算机的程序员,你是否会这样的想法:前端和后端是什么呢?如果你是刚上大学的大一大二基础小白,但是身边的卷王同学已经超前知道之后要从事前后端开发了,并且在学习各种框架的课程,Aahhahah,…

【Rabbitmq篇】RabbitMQ⾼级特性----消息确认

目录 前言: 一.消息确认机制 • ⾃动确认 • ⼿动确认 手动确认方法又分为三种: 二. 代码实现(spring环境) 配置相关信息: 1). AcknowledgeMode.NONE 2 )AcknowledgeMode.AUTO 3&…

QT入门之下载、工程创建、学习方法

1.QT下载链接 因为我的是下载在LINUX上面,所以这里提供LINUX平台下的下载方式: wget http://download.qt.io/archive/qt/5.12/5.12.9/qt-opensource-linux-x64-5.12.9.run 赋予可执行权限,加上 sudo 权限进入安装,这样会安装在…

初识Linux—— 基本指令(上)

前言 Linux简述 ​ Linux是一种开源、自由、类UNIX的操作系统,由著名的芬兰程序员林纳斯托瓦兹(Linus Torvalds)于1991年首次发布。Linux的内核在GNU通用公共许可证(GPL)下发布,这意味着任何人都可以自由…

劳动力市场

1.劳动力市场概述 (1)劳动力:所有有工作能力且愿意工作的人的总称,由那些正在工作(就业)和正在寻找工作(失业)的人组成,表示为:L(劳动力&#xf…

PHP代码审计 --MVC模型开发框架rce示例

MVC模型开发框架 控制器Controller:负责响应用户请求、准备数据,及决定如何展示数据 模块Model:管理业务逻辑和数据库逻辑,提供链接和操作数据库的抽象层 视图View:负责前端模板渲染数据,通过html呈现给用户…

Dify 通过导入 DSL 文件创建 Workflow 过程及实现

本文使用 Dify v0.9.2 版本,主要介绍 Dify 通过导入 DSL(或 URL)文件创建(或导出)Workflow 的操作过程及源码分析实现过程。Dify通过导入DSL文件创建Workflow过程及实现:https://z0yrmerhgi8.feishu.cn/wik…

Redis五大基本类型——List列表命令详解(命令用法详解+思维导图详解)

目录 一、List列表类型介绍 二、常见命令 1、LPUSH 2、LPUSHX 3、RPUSH 4、RPUSHX 5、LRANGE 6、LPOP 7、RPOP 8、LREM 9、LSET 10、LINDEX 11、LINSERT 12、LLEN 13、阻塞版本命令 BLPOP BRPOP 三、命令小结 相关内容: Redis五大基本类型——Ha…

有序数组的平方(leetcode 977)

一个数组&#xff0c;返回一个所有元素的平方之后依然是一个有序数组。&#xff08;数组中含负数&#xff09; 解法一&#xff1a;暴力解法 所有元素平方后再使用快速排序法重新排序&#xff0c;时间复杂度为O(nlogn)。 class Solution { public:vector<int> sortedSqu…

调用门提权

在我写的2.保护模式&#xff0b;段探测这篇文章中&#xff0c;我们提到了S位对于段描述符的控制&#xff0c;之前我们已经介绍了代码段和数据段&#xff0c;现在我们来把目光转到系统段 在这么多中结构里面&#xff0c;我们今天要介绍的就是编号为12的&#xff0c;32位调用门 结…

Web Service 学习笔记

Web Service 学习笔记 Web Service 基本概念 Web Service 即 web 服务&#xff0c;它是一种跨编程语言和跨操作系统平台的远程调用技术。 Java 中共有三种 Web Service 规范&#xff1a; JAX-WS(JAX-RPC): 基于 xml 数据JAXM&SAAJJAX-RS&#xff1a;基于 xml 或 json 数…

爬虫——JSON数据处理

第三节&#xff1a;JSON数据处理 在爬虫开发中&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;是最常见的数据格式之一&#xff0c;特别是在从API或动态网页中抓取数据时。JSON格式因其结构简单、可读性强、易于与其他系统交互而广泛应用于前端与后端的数…

计算机编程中的设计模式及其在简化复杂系统设计中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 计算机编程中的设计模式及其在简化复杂系统设计中的应用 计算机编程中的设计模式及其在简化复杂系统设计中的应用 计算机编程中的…