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

article/2025/6/22 5:49:51

文章目录

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

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

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?

http://www.hkcw.cn/article/ASMjADYvUm.shtml

相关文章

进程间通信III·System V 系列(linux)

目录 为什么有system V 共享内存 原理 操作 shmget 创建共享内存 shmctl 控制共享内存 shmat 挂接共享内存到进程的虚拟地址空间中 shmdt 将共享内存去关联 特点 模拟练习 Makefile client.cpp server.cpp main.hpp 小知识 为什么有system V linux是一种类unix系…

Kafka 如何保证顺序消费

在消息队列的应用场景中,保证消息的顺序消费对于一些业务至关重要,例如金融交易中的订单处理、电商系统的库存变更等。Kafka 作为高性能的分布式消息队列系统,通过巧妙的设计和配置,能够实现消息的顺序消费。接下来,我…

数据结构:栈(Stack)和堆(Heap)

目录 内存(Memory)基础 程序是如何利用主存的? 🎯 静态内存分配 vs 动态内存分配 栈(stack) 程序执行过程与栈帧变化 堆(Heap) 程序运行时的主存布局 内存(Memo…

数字权限管理(DRM):保护数字内容安全的小卫士

《数字权限管理(DRM):保护数字内容安全的小卫士》 在当今数字化飞速发展的时代,我们每天都在和各种各样的数字内容打交道,像电子书、音乐、电影、软件等等。然而,这些数字内容的版权保护和访问控制也成为了…

进程同步:生产者-消费者 题目

正确答案: 问题类型: 经典生产者 - 消费者问题 同时涉及同步和互斥。 同步:生产者与消费者通过信号量协调生产 / 消费节奏(如缓冲区满时生产者等待,空时消费者等待)。互斥:对共享缓冲区的访问需…

【第三十八周】BLIP-2:一种高效的视觉语言预训练框架

BLIP-2 摘要Abstract文章信息引言方法模型结构Stage1:表征学习Stage2:生成学习模型预训练 实验结果总结 摘要 本篇博客介绍了BLIP-2 ,这是一种面向通用多模态任务的高效视觉语言预训练框架,其核心思想是在冻结大语言模型的前提下,通过引入一…

算法打卡12天

19.链表相交 (力扣面试题 02.07. 链表相交) 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交**:** 题目数据…

Redis最佳实践——安全与稳定性保障之连接池管理详解

Redis 在电商应用的连接池管理全面详解 一、连接池核心原理与架构 1. 连接池工作模型 #mermaid-svg-G7I3ukCljlJZAXaA {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-G7I3ukCljlJZAXaA .error-icon{fill:#552222;}…

无人机+AI视频联网:精准狙击,让‘罪恶之花’无处藏身

引言:禁毒攻坚战,科技是关键 今天是2025年5,正值罂粟等毒株生长关键期。传统人工巡查耗时长、盲区多,而无人机巡检视频AI分析的智慧禁毒方案,正以“高空鹰眼地面AI”的立体化监控网络,实现毒株种植的早发现…

以太网原理与开发802.3

W5500以太网搭建 官方移植库W5500 下载地址:GitCode - 全球开发者的开源社区,开源代码托管平台目录结构Ethernet以太网移植文件文件wizchip_conf 配置 芯片型号 工作模式 wizchip_conf.c配置 临界区片选SPI收发字节配置 自定义注册SPI // 自定义注册SPI相关回调函数 void use…

day5 cpp:,对象的组织(const对象),

1.对象的组织(类比内置类型) const对象 const对象只能调用const成员函数和数据成员,除了四大金刚 若成员函数没有加const(void print() const{}),即便里面没有_ix100修改值,也不能pt2.print()访问,因为是const Point pt2(3,5)--->对象不…

C语言进阶--动态内存管理

学习数据结构重要的三个部分:指针、结构体、动态内存管理(malloc、calloc、realloc、free)。 1.为什么存在动态内存分配? 1.空间开辟大小是固定的; 2.数组在声明时,必须指定数组的长度,它所需…

Excel如何去除公式保留数值

我们有时候使用Excel在修改一部分数值的时候会导致和该数值相关的通过公式进行计算的数值发生变化,但有时我们不想改变这些数值,同样的有时我们在移动一些数值的时候会导致通过这些数值计算的数值变为#!VALUE,这是我们不想发生的,…

C++学习-入门到精通【11】输入/输出流的深入剖析

C学习-入门到精通【11】输入/输出流的深入剖析 目录 C学习-入门到精通【11】输入/输出流的深入剖析一、流1.传统流和标准流2.iostream库的头文件3.输入/输出流的类的对象 二、输出流1.char* 变量的输出2.使用成员函数put进行字符输出 三、输入流1.get和getline成员函数2.istrea…

一周学会Pandas2之Python数据处理与分析-数据重塑与透视-melt() - 融化 / 逆透视 (宽 -> 长)

锋哥原创的Pandas2 Python数据处理与分析 视频教程: 2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili melt() 是 pandas 中用于数据重塑的核心方法之一,它可以将 宽格式数据 转换为 长格式数据,特…

设计模式——工厂方法模式(创建型)

摘要 工厂方法模式是一种创建型设计模式,通过定义创建对象的接口,让子类决定实例化哪个类。它包含抽象产品、具体产品、抽象工厂和具体工厂等角色。该模式使类的实例化延迟到子类,具有良好的扩展性和灵活性,适用于多种场景&#…

软件性能之CPU

性能是个宏大而驳杂话题,从代码,到网络,到实施,方方面面都会涉及到性能问题,网上对性能讲解的文章多如牛毛,从原理到方法再到工具都有详细的介绍,本文虽不能免俗,但期望能从另外一个…

腾讯云推出云开发AI Toolkit,国内首个面向智能编程的后端服务

5月28日,腾讯云开发 CloudBase 宣布推出 AI Toolkit(CloudBase AI Toolkit),这是国内首个面向智能编程的后端服务,适配 Cursor 等主流 AI 编程工具。 云开发 AI Toolkit旨在解决 AI 辅助编程的“最后一公里”问题&…

当前用户的Git本地配置情况:git config --local --list

通过config命令可以查询当前用户的本地配置情况。这些配置项定义了 Git 在当前仓库中的行为,包括文件权限处理、符号链接处理以及大小写敏感性等。 git config --local --list core.repositoryformatversion0 指定 Git 仓库的格式版本。版本 0 是最初的格式。 cor…

修改 vscode 左侧导航栏的文字大小 (更新版)

1. 起因, 目的: 问题: vscode 左侧的文字太小了!!!我最火的一篇文章,写的就是这个问题。 看来这个问题,是很广泛的一个痛点。我最近更新了 vscode, 这个问题又出现了。再来搞一下。…