• 精通Linux,没用过scp?


    前言

    使用Linux时,传输文件是经常做的事情,传输文件有很多种方式、也有很多种协议,最常用的是rsync、scp 和 sftp,其中scp通过使用SSH(Secure Shell)机制传输文件来确保数据的真实性、加密和机密性。因此,传输中的数据可以免受窥探攻击,客户端可以使用此协议向服务器上传和下载文件和目录,它需要密码或密钥进行身份验证,scp 的默认端口是 TCP 端口 22,这也是 SSH 的默认端口。scp 协议的优势是您无需启动 FTP 会话或显式登录远程主机进行文件传输。

    scp语法

    将文件从本地复制到远程主机:

    scp [选项] 源文件 用户名@目的主机:目的路径
    

    将文件从从远程主机复制到本地:

    scp [选项] 用户名@源主机:源文件路径 目标文件

    这里我选几个常用的解释一下:

    • -C : 启用压缩,在复制时提高传输速度。
    • -c <密码>:密码,默认情况下,SCP 使用“AES-128”加密文件,如果要更改密码,则需要使用 -c 选项后跟密码名称。
    • -i :识别文件或私钥,通常在 Linux 环境中选择基于密钥的身份验证。
    • -l :限制带宽,可以设置要使用的最大带宽,以 Kbits/s 为单位。
    • -B:在复制时使用批处理模式。
    • -F :用于在需要使用不同网络连接到 Linux 系统的情况下复制时使用不同的 ssh_config 文件。
    • -P :如果目的主机的 ssh 端口号与默认端口号 22 不同,则需要使用 -P 选项特别注明端口号。
    • -p:用于在复制时保留文件权限、修改和访问时间。
    • -q:将在安静模式下执行 SCP 命令,将关闭进度表,并且不会在 Linux 终端屏幕上显示 ssh 的传输进度、警告或诊断消息。
    • -r:用于递归复制文件和目录。
    • -S :用于指定用于连接的程序。
    • -v: v 代表详细,将在终端屏幕上逐步显示 SCP 命令执行的进度。这对调试很有帮助。

    Demo演示

    将当前目录的access.log文件拷贝到172.31.211.85的/data/test目录下

    1. scp access_log.log dev@172.31.211.85:/data/test
    2. dev@172.31.211.85's password:
    3. access_log.log 100% 23KB 26.4MB/s 00:00

     将172.30.14.81文件/data/logs/service_logs/access_log.2022-12-03.log拷贝到当前目录

     scp readonly@172.30.14.81:/data/logs/service_logs/access_log.2022-12-03.log ./

  • 相关阅读:
    高并下如何做变量的自增与自减
    计算机网络——第六章笔记(1)
    【电子通识】案例:采用电阻分压式采样电压的设计注意事项
    MySQL数据库基本操作-DQL-基本查询
    霸榜SPC-1,成立才3年多,这家中国的存储初创公司凭什么?
    Simulink 自动代码生成电机控制:非线性磁链观测器
    Android基础一:Android UI基础容器
    关于js_事件委托(代理)的介绍和简单使用
    封装使用Axios进行前后端交互
    Java8IntStream数值流的常用操作以及与装箱和拆箱的关系
  • 原文地址:https://blog.csdn.net/qq_28165595/article/details/128173673