命令行式本地与服务器互传文件

news2025/7/21 5:24:36

文章目录

    • 1. 背景
    • 2. 传输方式
      • 2.1 SCP 协议传输
      • 2.2 SFTP 协议传输
    • 3. 注意

命令行式本地与服务器互传文件

1. 背景

多设备协同工作中,因操作系统的不同,我们经常需要将另外一个系统中的文件传输到本地PC进行浏览、编译。多设备文件互传,在嵌入式开发中也经常会遇到,本篇介绍命令行下文件传输的方式。

2. 传输方式

服务器与本地PC之间互传文件,有多种方式,常见的有使用tftpd小工具,mobaxterm ide自带的"upload"和“download"按钮,securt crt安装的时候提供的secure fx工具。但是很多时候,一些环境不允许安装这些第三方软件,这时候就只能使用最原始的命令行进行交互了。

2.1 SCP 协议传输

SCP(Secure Copy Protocol):基于SSH协议的安全文件复制工具,用于在本地主机和远程主机之间或两台远程主机之间安全地复制文件。

  • 指令格式

    scp [选项] [源文件/目录] [目标路径]
    
    • 源文件/目录:可以是本地路径或远程路径。
    • 目标路径:可以是本地路径或远程路径。
  • upload 文件到服务器

    • 单文件传输
    SCP F:/学习/cjson/cJSON/README.md root@服务器IP地址:/root/project/001_json_c_learn/
    

在这里插入图片描述

  • 整个目录传输
scp -r F:/学习/cjson/cJSON/ root@IP地址:/root/project/002_test

在这里插入图片描述

  • download文件到本地

    • 单文件传输
    scp root@IP地址:/root/project/001_json_c_learn/README.md F:/学习/cjson/cJSON/
    

    在这里插入图片描述

    • 整个目录传输
    scp -r root@IP地址:/root/project/001_json_c_learn/ F:/学习/cjson/cJSON/
    

在这里插入图片描述

2.2 SFTP 协议传输

SFTP(SSH File Transfer Protocol):基于SSH的安全文件传输协议,提供加密的数据传输和身份验证,确保文件传输过程的安全性。

  • 指令连接

    # 默认端口连接
    sftp username@host_ip
    
    • username:远程服务器用户名。
    • host_ip:服务器IP地址或域名。
    • 示例:sftp root@192.168.1.100
    # 指定端口连接
    sftp -P port_number username@host_ip
    
    • -P:指定SSH端口(非默认22)。
    • 示例:sftp -P 48101 root@192.168.1.100
    # 密钥认证连接
    sftp -i /path/to/private_key username@host_ip
    
    • -i:指定私钥文件路径(需提前生成密钥对并将公钥配置服务器)。
    • 示例:sftp -i ~/.ssh/id_rsa user@192.168.1.100
  • 上传文件到服务器(put)

    • 指令格式

      put local_file_path [remote_file_path]
      
    • 将本地文件上传到远程服务器。

    • 若未指定remote_file_path,默认上传到当前远程目录(可以使用pwd查看默认远程目录)。

在这里插入图片描述

  • 下载文件到本地 (get)

    • 指令格式

      get remote_file_path [local_file_path]
      
    • 将远程文件下载到本地。

    • 若未指定local_file_path,默认下载到当前本地目录。

在这里插入图片描述

  • 递归传输目录

    • 上传目录(递归)

      put -r local_directory_path [remote_directory_path]
      
      • 递归上传整个目录及其子文件。
      • 示例:put -r /home/user/projects /var/www/
    • 下载目录(递归)

      get -r remote_directory_path [local_directory_path]
      
      • 递归下载整个目录及其子文件。
      • 示例:get -r /var/log /backup/logs/
  • 批量传输

    mput *.txt  # 上传当前目录所有.txt文件
    mget *.log  # 下载远程目录所有.log文件
    
  • 目录与文件管理

    • 切换远程目录cd remote_directory
    • 切换本地目录lcd local_directory
    • 查看远程目录ls
    • 查看本地目录lls
    • 删除远程文件rm remote_file
    • 重命名远程文件rename old_name new_name
    • 退出SFTPexitquit
      `
    • 查看远程目录ls
    • 查看本地目录lls
    • 删除远程文件rm remote_file
    • 重命名远程文件rename old_name new_name
    • 退出SFTPexitquit
    • 查看帮助help?

3. 注意

sftp 连接远程时需要输入密码,微避免每次输入密码,可以在本地生成 rsa 秘钥,然后将公钥上传到服务器下的 authorized_keys中。 可以参考 ssh连接云服务器记录 中 2.3小节,使用ssh-cpoy-id指令进行。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LabelImg: 开源图像标注工具指南

LabelImg: 开源图像标注工具指南 1. 简介 LabelImg 是一个图形化的图像标注工具,使用 Python 和 Qt 开发。它是目标检测任务中最常用的标注工具之一,支持 PASCAL VOC 和 YOLO 格式的标注输出。该工具开源、免费,并且跨平台支持 Windows、Lin…

计算机网络 TCP篇常见面试题总结

目录 TCP 的三次握手与四次挥手详解 1. 三次握手(Three-Way Handshake) 2. 四次挥手(Four-Way Handshake) TCP 为什么可靠? 1. 序列号与确认应答(ACK) 2. 超时重传(Retransmis…

树欲静而风不止,子欲养而亲不待

2025年6月2日,13~26℃,一般 待办: 物理2 、物理 学生重修 职称材料的最后检查 教学技能大赛PPT 遇见:使用通义创作了一副照片,很好看!都有想用来创作自己的头像了! 提示词如下: A b…

Kotlin中的::操作符详解

Kotlin提供了::操作符,用于创建对类或对象的成员(函数、属性)的引用。这种机制叫做成员引用(Member Reference)。这是Kotlin高阶函数和函数式编程的重要组成部分。 简化函数传递 在Java中,我们这样传方法: list.forEach(item -> System.…

深入详解编译与链接:翻译环境和运行环境,翻译环境:预编译+编译+汇编+链接,运行环境

目录 一、翻译环境和运行环境 二、翻译环境:预编译编译汇编链接 (一)预处理(预编译) (二)编译 1、词法分析 2、语法分析 3、语义分析 (三)汇编 (四&…

定时任务:springboot集成xxl-job-core(二)

定时任务实现方式: 存在的问题: xxl-job的原理: 可以根据服务器的个数进行动态分片,每台服务器分到的处理数据是不一样的。 1. 多台机器动态注册 多台机器同时配置了调度器xxl-job-admin之后,执行器那里会有多个注…

DeviceNET转EtherCAT网关:医院药房自动化的智能升级神经中枢

在现代医院药房自动化系统中,高效、精准、可靠的设备通信是保障患者用药安全与效率的核心。当面临既有支持DeviceNET协议的传感器、执行器(如药盒状态传感器、机械臂限位开关)需接入先进EtherCAT高速实时网络时,JH-DVN-ECT疆鸿智能…

一:UML类图

一、类的设计 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 学习设计模式的第一步是看懂UML类图,类图能直观的表达类、对象之间的关系,这将有助于后续对代码的编写。 类图在软件设计及应用框架前期设计中是不可缺少的一部分,它的主要成分包括:类名、…

Java 中 MySQL 索引深度解析:面试核心知识点与实战

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Java 中 MySQL 索引深度解析:面试…

设计模式之结构型:装饰器模式

装饰器模式(Decorator Pattern) 定义 装饰器模式是一种​​结构型设计模式​​,允许​​动态地为对象添加新功能​​,而无需修改其原始类。它通过将对象包装在装饰器类中,以​​组合代替继承​​,实现功能的灵活扩展(如 Java I/O …

MySQL安装及启用详细教程(Windows版)

MySQL安装及启用详细教程(Windows版) 📋 概述 本文档将详细介绍MySQL数据库在Windows系统下的下载、安装、配置和启用过程。 📥 MySQL下载 官方下载地址 官方网站: https://dev.mysql.com/downloads/社区版本: https://dev.my…

【HarmonyOS Next之旅】DevEco Studio使用指南(二十九) -> 开发云数据库

目录 1 -> 开发流程 2 -> 创建对象类型 3 -> 添加数据条目 3.1 -> 手动创建数据条目文件 3.2 -> 自动生成数据条目文件 4 -> 部署云数据库 1 -> 开发流程 云数据库是一款端云协同的数据库产品,提供端云数据的协同管理、统一的数据模型和…

批量导出CAD属性块信息生成到excel——CAD C#二次开发(插件实现)

本插件可实现批量导出文件夹内大量dwg文件的指定块名的属性信息到excel,效果如下: 插件界面: dll插件如下: 使用方法: 1、获取此dll插件。 2、cad命令行输入netload ,加载此dll(要求AutoCAD&…

Goreplay最新版本的安装和简单使用

一:概述 Gor 是一个开源工具,用于捕获实时 HTTP 流量并将其重放到测试环境中,以便使用真实数据持续测试您的系统。它可用于提高对代码部署、配置更改和基础设施更改的信心。简单易用。 项目地址:buger/goreplay: GoReplay is an …

Android Studio 解决报错 not support JCEF 记录

问题:Android Studio 安装Markdown插件后,报错not support JCEF不能预览markdown文件。 原因:Android Studio不是新装,之前没留意IDE自带的版本是不支持JCEF的。 解决办法: 在菜单栏选中Help→Find Action&#xff…

sigmastar实现SD卡升级

参考文章:http://wx.comake.online/doc/DD22dk2f3zx-SSD21X-SSD22X/customer/development/software/Px/zh/sys/P3/usb%20&%20sd%20update.html#21-sd 1、构建SD卡升级包 在project下make image完成后使用make_sd_upgrade_sigmastar.sh脚本打包SD卡升级包。 ./make_sd_up…

kafka学习笔记(三、消费者Consumer使用教程——配置参数大全及性能调优)

本章主要介绍kafka consumer的配置参数及性能调优的点,其kafka的从零开始的安装到生产者,消费者的详解介绍、源码及分析及原理解析请到博主kafka专栏 。 1.消费者Consumer配置参数 配置参数默认值含义bootstrap.servers无(必填)…

【论文笔记】Transcoders Find Interpretable LLM Feature Circuits

Abstract 机制可解释性(mechanistic interpretability)的核心目标是路径分析(circuit analysis):在模型中找出与特定行为或能力对应的稀疏子图。 然而,MLP 子层使得在基于 Transformer 的语言模型中进行细粒度的路径分析变得困难。具体而言,…

每天总结一个html标签——a标签

文章目录 一、定义与使用说明二、支持的属性三、支持的事件四、默认样式五、常见用法1. 文本链接2. 图片链接3. 导航栏 在前端开发中,a标签(锚点标签)是最常用的HTML标签之一,主要用于创建超链接,实现页面间的跳转或下…

android binder(1)基本原理

一、IPC 进程间通信(IPC,Inter-Process Communication)机制,用于解决不同进程间的数据交互问题。 不同进程之间用户地址空间的变量和函数是不能相互访问的,但是不同进程的内核地址空间是相同和共享的,我们可…