Linux 文件传输:系统数据交互的动脉
前言:sshd
在Linux系统中,文件传输常依赖于SSH协议
(Secure Shell),而sshd
(OpenSSH Daemon)是负责处理SSH连接的后台服务程序。通过sshd
,用户可以在加密的通道中进行安全的远程登录、命令执行和文件传输(如scp
、sftp
、rsync
等)。
相关命令
命令 | 说明 |
systemctl start sshd | 启动 sshd 服务 |
systemctl stop sshd | 停止 sshd 服务 |
systemctl restart sshd | 重启 sshd 服务(中断现有连接) |
systemctl reload sshd | 重载配置文件(不中断连接) |
systemctl status sshd | 查看服务运行状态 |
一、系统文件传输方法
1、scp
(1)概念
scp
(Secure Copy Protocol)是Linux/Unix系统中基于SSH协议的命令行文件传输工具,通过加密通道在本地与远程主机之间安全传输文件或目录。其底层依赖sshd
服务运行,适合快速、简单的文件传输任务。
(2)常用选项
选项 | 说明 |
-r | 递归复制目录(传输文件夹必选) |
-C | 启用压缩(适合低速网络) |
-v | 显示详细传输过程(调试用) |
-i | 指定私钥文件(密钥认证时使用) |
-l | 限制带宽(单位:Kbit/s,如 -l 1000 限制1Mbps) |
-p | 保留文件修改时间、权限等属性 |
(3)命令
scp 文件的绝对路径 用户名@IP:要传送到的目录的绝对路径 上传
scp 用户名@IP:要下载的文件的绝对路径 要下载到本机目录的绝对路径 下载
注:scp在进行文件传输时,传送后若与当前系统保留权限不符,将会自动对权限进行降低。
上传示例:
我们要先多创建一个克隆机出来模拟远程主机,通过ip a 来查看克隆机的IP地址(此处为192.168.188.129)
首先在一号机上创建文件czg
随后输入命令将文件传输到二号机
下载示例
执行命令后,本地桌面会出现从远程主机下载下来的文件czg
2、rsync
(1)概念
rsync(Remote Sync)是一个高效的文件同步工具,专为增量传输设计。它仅传输源与目标之间的差异部分,大幅减少数据传输量,尤其适合同步大文件或远程备份。
对于文件较多文件“scp”命令就显得比较慢了,这时候就需要“rsync”命令,对文件进行同步
(2)特点
传输高效
- 增量传输:仅传变化数据,减少传输量。
- 压缩传输:降低数据量,省带宽、提速度。
多功能
- 多场景适用:本地、远程及跨平台同步均可。
- 多种同步模式:支持单向、双向等。
- 特殊文件处理:涵盖符号链接等特殊文件。
- 属性保留:同步后文件属性不变。
- 可排除文件:灵活设置不传输内容。
安全可靠
- 加密传输:可借助 ssh 等加密方式。
- 匿名 / 认证传输:满足不同安全需求。
使用便利
- 使用灵活:支持命令行及守护进程模式,选项丰富。
(3)常用选项
选项 | 说明 |
-a | 归档模式(保留权限、时间戳、递归同步等,等价于 -rlptgoD ) |
-v | 显示详细传输过程 |
-z | 启用压缩传输(节省带宽) |
-P | 显示进度,并支持断点续传(等价于 --partial --progress ) |
-n | 模拟运行(不实际传输,用于测试) |
-h | 以人类可读格式输出(如KB/MB) |
--delete | 删除目标中存在但源中不存在的文件(保持严格同步) |
--exclude | 排除指定文件或目录(如 --exclude="*.log" ) |
--bwlimit | 限制带宽(单位:KB/s,如 --bwlimit=1000 限制1MB/s) |
(4)命令
1)基本用法
rsync [选项] 源路径 目标路径
2) 上传本地文件到远程主机
rsync [-rlptogD] <本地文件> <远程主机用户@远程主机ip:远程主机目录的绝对路径>
示例 :
3)从远程主机下载文件到本地
rsync [-rlptogD] <远程主机用户@远程主机ip:远程主机目录的绝对路径> <本地文件>
3、 scp对比rsync
scp | rsync | |
传输模式 | 基于 SSH,全量传输文件,每次复制整个文件 | 支持增量传输,仅传输源和目标有差异部分 |
传输效率 | 小文件传输速度快、CPU 利用率低;大文件或大量文件传输时效率低 | 大文件和大量文件传输效率高,支持压缩传输 |
功能特性 | 功能单一,主要用于简单文件复制,不支持传输中断恢复、计划任务等 | =支持本地和远程同步,可处理特殊文件,保留文件元数据,支持传输中断恢复、计划任务等 |
适用场景 | 少量小文件或敏感数据的一次性传输,如临时传输机密文件 | 定期数据备份、大文件及大量文件传输、服务器间数据同步等,如网站数据备份、数据库同步 |
二、压缩与归档(加快文件传输速度)
1、归档(tar)
(1)概念
归档(Archiving)是将多个文件或目录打包成一个单一文件的过程,常用于备份、传输或压缩存储。
(2)常用的参数表
主要参数:
参数 | 说明 | 示例 |
-c | 创建归档文件 | tar -cvf archive.tar files |
-x | 解压归档文件 | tar -xvf archive.tar |
-t | 查看归档内容 | tar -tvf archive.tar |
-r | 追加文件到归档 | tar -rvf archive.tar new_file |
-u | 更新归档(仅添加比归档内更新的文件) | tar -uvf archive.tar updated_file |
常用功能选项
参数 | 说明 | 示例 |
-v | 显示详细过程(列出处理的文件) | tar -cvf archive.tar dir/ |
-f | 指定归档文件名(必须紧跟文件名) | tar -cvf output.tar dir/ |
-C | 切换目录(解压或打包前切换路径) | tar -xvf archive.tar -C /target/dir |
--exclude | 排除文件/目录(支持通配符) | tar -cvf archive.tar --exclude="*.log" dir/ |
--wildcards | 通配符匹配(配合 -t 查看特定文件) | tar -tvf archive.tar --wildcards "*.txt" |
-k | 保留现有文件(解压时不覆盖同名文件) | tar -xvkf archive.tar |
-p | 保留文件权限(默认解压时可能丢失) | tar -cvpf archive.tar dir/ |
(3)命令
命令 | 说明 |
tar -cvf archive.tar file1 dir1 | 创建归档文件(-c : 创建,-v : 显示过程,-f : 指定文件名) |
tar -xvf archive.tar | 解压归档文件(-x : 解压) |
tar -tvf archive.tar | 查看归档文件内容 |
示例:
1)tar cf示例
将etc/和mnt/的文件创建(c)归档并命名(f)为etc.tar
2)tar xf示例
此命令意思为:查看etc.tar文件
etc.tar文件内的文件会显示出来
3)tar rf示例
2、压缩(gz、bz2、xz、zip)
zip
zip -r 文件名.zip 文件名 压缩成zip格式
unzip 文件名.zip 解压zip格式压缩包
gz
gzip 文件名 压缩成gz格式
gunzip 文件名.gz 解压gz格式压缩包
bz2
bzip2 文件名 压缩成bz2格式
bunzip2 文件名.bz2 解压bz2格式压缩包
xz
xz 文件名 压缩成xz格式
unxz 文件名 解压xz格式压缩包
注:文件压缩中zip格式压缩后文件大小最大,xz最小。相应的xz需要的时间也最长。所以在压缩的时候需要考虑以下压缩大小与时间的需求。
相关文章:
Linux 文件传输:系统数据交互的动脉
前言:sshd 在Linux系统中,文件传输常依赖于SSH协议(Secure Shell),而sshd(OpenSSH Daemon)是负责处理SSH连接的后台服务程序。通过sshd,用户可以在加密的通道中进行安全的远程登录、…...
Rust + WebAssembly 生产部署指南
1 最小可行部署(MVP) 前端打包wasm-pack build --target web --release # 生成 .wasm JS 包装器 npm run build / vite build / webpack … # 打包 HTML/CSS/JS 资源拷贝产物 到生产服务器的站点目录dist/ ├── index.html ├── pkg…...
git忽略已跟踪的文件/指定文件
在项目开发中,有时候我们并不需要git跟踪所有文件,而是需要忽略掉某些指定的文件或文件夹,怎么操作呢?我们分两种情况讨论: 1. 要忽略的文件之前并未被git跟踪 这种情况常用的方法是在项目的根目录下创建和编辑.gitig…...
基于Django实现的图书分析大屏系统项目
图书分析大屏展示系统项目大纲与启动教程 一、项目概述 图书分析大屏展示系统是一个基于Django框架开发的Web应用,主要用于图书数据的可视化分析与展示。该系统采用MVT(Model-View-Template)架构模式,结合MySQL数据库࿰…...
【OSCP-vulnhub】GoldenEye
目录 端口扫描 查找源代码 目录扫描 POP3邮件枚举 1.先枚举用户名 2.hydra爆破 3.nc连接 boris: natalya: 设置本地hosts文件 doak: 解析图片 exiftool for-007.jpg strings for-007.jpg 使用MSF去搜索内核版本 漏洞利用 ---…...
OpenAI发布GPT-4.1系列模型,主打编程能力提升
OpenAI在本周一推出了全新一代模型家族——GPT-4.1系列。没错,就是“4.1”,尽管OpenAI的命名方式已经让人有些摸不着头脑。 这一系列包括三个型号:GPT-4.1、GPT-4.1 mini和GPT-4.1 nano。据OpenAI介绍,这些模型在编程任务和指令遵…...
压缩包网页预览(zip-html-preview)
zip-html-preview 项目介绍 这是一个基于 Spring Boot 开发的在线 ZIP 文件预览工具,主要用于预览 ZIP 压缩包中的 HTML 文件及其相关资源。 主要功能 支持拖拽上传或点击选择多个 ZIP 文件自动解压并提取 ZIP 文件中的 HTML 文件在线预览 HTML 文件及其相关的 CSS、JavaSc…...
OpenCV 图形API(41)颜色空间转换----- BGR 图像转换为灰度图像函数BGR2Gray()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 将图像从BGR色彩空间转换为灰度。 B、G和R通道值的传统范围是0到255。结果的灰度颜色值计算为: dst ( I ) 0.114 ∗ src ( I ) . B…...
影视产业链中的律师角色以及合规风控要点
影视产业链中的律师角色以及合规风控要点 在影视娱乐业务中,律师服务贯穿项目全生命周期,涵盖创意开发、投z制作、发行传播、艺人管理及争议等多个领域 一、影视项目全流程合同法律事务 ✔️项目开发阶段 剧本合作:剧本委托创作、改编、版权…...
Java工具类——实体类列表写入excel
Java工具类——实体类列表写入excel /*** 将实体类 List 数据写入 Excel 文件* param dataList 实体类对象列表* param filePath Excel 文件路径* param sheetName Sheet 名称* param <T> 泛型类型* throws IOException 文件操作异常* throws IllegalAccessException 反…...
C++23 新预处理器指令详解:#elifdef、#elifndef 和 #warning
文章目录 1. #elifdef 和 #elifndef:更灵活的条件编译1.1 背景与动机1.2 语法与示例示例代码: 1.3 编译器支持 2. #warning:发出编译警告2.1 背景与动机2.2 语法与示例示例代码: 2.3 编译器支持 3. 总结 C23 标准引入了多项改进&a…...
书写API文档的最佳实践[特殊字符]
API文档对于API的可用性和成功至关重要。完善的API文档能显著提高开发者体验,加速采用,并培养强大的开发者社区。反之,糟糕的文档可能导致困惑、挫败感和错误,从而降低采用率。本文将探讨编写清晰、全面、开发者友好的API文档的高…...
【Maven】手动安装依赖到本地仓库
【Maven】手动安装依赖到本地仓库 【一】下载依赖【二】安装 JAR 文件到本地仓库【三】验证安装【四】在项目中使用该依赖【1】注意事项【2】额外提示 【一】下载依赖 登录到中央仓库下载依赖,中央仓库地址:https://mvnrepository.com/ 搜搜你的依赖的a…...
kali下maven 的安装与配置
1、下载 maven 安装包 wget https://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz 2、解压 apache-maven-3.9.4-bin.tar.gz tar -zxvf apache-maven-3.9.4-bin.tar.gz 找到文件解压到的位置,由于解压时我们没有指定路径&#x…...
list的模拟实现和反向迭代器的底层
1:list的模拟实现 1:链表的节点 对于list的模拟实现,我们需要先定义一个节点的类可以使用(class也可以使用struct) // List的节点类 template<class T> struct ListNode {ListNode(const T& val T()){_p…...
OpenHarmony - 小型系统内核(LiteOS-A)(七)
OpenHarmony - 小型系统内核(LiteOS-A)(七) 八、文件系统 适配新的文件系统 基本概念 所谓对接VFS层,其实就是指实现VFS层定义的若干接口函数,可根据文件系统的特点和需要适配其中部分接口。一般情况下&…...
四层板的时钟线设计:关键要点与实用策略
在电子电路设计领域,四层板凭借其出色的电气性能和合理的空间布局,广泛应用于各类电子产品中。而时钟线作为系统的 “心跳”,为整个电路提供同步信号,其设计质量直接关系到系统的稳定性、可靠性和性能表现。因此,深入探…...
【TypeScript类型系统解析:一次真实的类型检查修复经历】
TypeScript类型系统解析:一次真实的类型检查修复经历 在最近的管理系统开发过程中,我遇到了一个值得深入探讨的TypeScript类型问题。通过解决这个问题,我更深入地理解了TypeScript的类型系统工作原理,以及如何在Vue项目中正确处理…...
全视通无感护理巡视系统方案及产品,助力医院护士巡视病房到位
传统的护理工作中,护理巡视是一项重要且繁琐的任务。护士们需要根据不同的护理级别,定时对患者进行巡视,并手工填写巡视记录表,登记巡视时间、人员等信息。月末时,还需进行人工数据统计,这一过程不仅效率低…...
初识Redis · 命令、数据结构补充、协议
目录 前言: 数据结构补充 stream geospaital Hyperloglog bitmap bitfield 渐进式遍历命令等 认识Redis客户端及协议 前言: 在前文,我们总览一下,我们已经介绍了什么是Redis,Redis的应用场景是什么ÿ…...
DBA工作常见问题整理
MVCC机制: PostgreSQL的多版本并发控制(MVCC)是其核心特性之一,它允许数据库在高并发环境下保持高性能的同时提供事务隔离。 MVCC通过维护数据的多个版本实现: 读操作不阻塞写操作写操作不阻塞读操作避免使用锁实现并发控制 PostgreSQL的MVCC特点 写时…...
云转型(cloud transformation)——不仅仅是简单的基础设施迁移
李升伟 编译 云转型不仅仅是迁移基础设施,更是重塑企业运营、创新及价值交付的方式。它具有战略性、持续性,并影响着人员、流程和平台。 ☁️ 云转型涉及以下内容: 🔄 应用现代化——从单体架构转向微服务架构。 ⚙️ 运营自动…...
SpringBoot 定时任务
启用定时任务 首先确定需要启用定时任务的SpringBoot类,然后添加注解(EnableScheduling)以启用定时任务 package com.mt.visitorauth.anjian.service;import org.springframework.scheduling.annotation.EnableScheduling;EnableScheduli…...
常见的低代码策略整理
低代码策略通过简化开发流程、降低技术门槛、提升效率,帮助用户快速构建灵活可靠的应用。这些策略的核心优势体现在以下方面: 快速交付与降本增效 减少编码需求:通过可视化配置(如变量替换、表达式函数)替代传统编码…...
HFSS(李明洋)学习记录1
Hfss操作记录 HFSS—solution type:选择求解类型Modeler—units:设置hfss内部的基本单位可选mm或者in(英寸)设置端口激励—波端口:右键selection model/face 选中对应的表面之后;右键assign excitation/po…...
泛目录站群技术架构演进观察:2025年PHP+Java混合方案实战笔记
https://www.zhanqun.xin/ 在参与某跨国电商平台SEO优化项目时,我们团队对市面上主流站群系统进行了为期半年的技术评估。最终选择部署的2025版无极多功能泛目录站群程序,其技术实现路径与工程化设计思路颇具参考价值,现整理关键发现如下。 …...
sentinel安装部署及测试--实践
一、什么是 Sentinel? Sentinel 是阿里巴巴开源的一款用于微服务流量控制和系统防护的中间件。它的主要功能包括: **流量控制(Flow Control):**限制系统的 QPS 或线程数,防止因流量过大导致系统崩溃。 **…...
Yocto项目实战教程 · 第4章:4.1小节元数据
🔍 B站相应的视频教程: 📌 Yocto项目实战教程-第4章-4.1小节-元数据 记得三连,标为原始粉丝。 在嵌入式Linux系统构建中,Yocto项目凭借其高度模块化、可配置的特性成为主流工具。而其背后的关键支撑之一,便…...
应用镜像是什么?轻量应用服务器的镜像大全
应用镜像是轻量应用服务器专属的,镜像就是轻量应用服务器的装机盘,应用镜像在原有的纯净版操作系统上集成了应用程序,例如WordPress应用镜像、宝塔面板应用镜像、WooCommerce等应用,阿里云服务器网aliyunfuwuqi.com整理什么是轻量…...
关于Java集合中对象字段的不同排序实现方式
📊 关于Java集合中对象字段的不同排序实现方式 #Java集合 #排序算法 #Comparator #性能优化 一、排序基础:两种核心方式对比 方式Comparable接口Comparator接口实现位置目标类内部实现独立类或匿名内部类排序逻辑自然排序(固定规则…...
2000-2017年各省发电量数据
2000-2017年各省发电量数据 1、时间:2000-2017年 2、来源:能源年鉴、国家统计局 3、指标:行政区划代码、城市、年份、发电量 4、范围:31省 5、指标说明:发电量是指在特定时间内,发电设备(如…...
第二十二天 - 安全加固实践 - 漏洞扫描工具开发 - 练习:SSH暴力破解防护
前言 随着网络安全威胁日益严峻,掌握基础防护技能成为开发者必备能力。本文将从零开始,通过安全加固实践、漏洞扫描工具开发、SSH暴力破解防护三个维度,带您快速构建安全防御体系。所有示例均附带完整代码,建议边阅读边实践。 一…...
【AI】React Native中使用Zustand框架及自动生成选择器
引言 随着React Native在移动应用开发领域的广泛应用,高效的状态管理变得尤为重要。Zustand作为一个轻量级的状态管理库,提供了简洁而强大的API,特别适合于React Native应用开发。本报告将详细介绍如何在React Native项目中使用Zustand框架&…...
MySQL GTID集合运算函数总结
MySQL GTID 有一些运算函数可以帮助我们在运维工作中提高运维效率。 1 GTID内置函数 MySQL 包含GTID_SUBSET、GTID_SUBTRACT、WAIT_FOR_EXECUTED_GTID_SET、WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS 4个内置函数,用于GTID集合的基本运算。 1.1 GTID_SUBSET(set1,set2) …...
4.1.2 Redis协议与异步方式
文章目录 4.1.2 Redis协议与异步方式1. redis pipeline2. redis事务1. MULTI2. EXEC3. DISCARD4. WATCH 3. lua脚本1. lua基础语法2. Lua 脚本中访问 Redis 的方式3. Lua 脚本中的 KEYS 和 ARGV4、返回值5、错误处理EVALSHA 来代替 EVAL 4. ACID特性分析5. redis发布订阅1. 工作…...
ecovadis审核有什么原则?什么是ecovadis审核,有什么意义
EcoVadis审核概述 EcoVadis是一家全球知名的企业可持续发展评级机构,成立于2007年,旨在通过评估企业的环境(E)、社会(S)和治理(G)表现,帮助跨国公司管理供应链的可持续性…...
bitnet-b1.58-2B-4T和三进制
最近有个模型挺火啊现在都排进了HF排行榜的第四了 模型叫做microsoft/bitnet-b1.58-2B-4T 其实非常小的一个模型,只有2B,那这东西有多大意义呢? 它主要探索一个打法 也就是这篇论文 The era of 1-bit llms: All large language models ar…...
k8s报错kubelet.go:2461] “Error getting node“ err=“node \“k8s-master\“ not found“
问题 首先最初问题: [rootk8s-master ~]# kubectl get pods -owide --all-namespaces The connection to the server 192.168.2.129:6443 was refused - did you specify the right host or port?检查kubelet状态 查看kubelet status报找不到master节点 [rootk8…...
计算serise数据的唯一值数量
1. Series.unique() 功能:返回 Series 中所有唯一值的 数组(顺序按首次出现排列)。 返回值类型:numpy.ndarray(用户可能误认为是列表,但实际是 NumPy 数组)。 对 NaN 的处理:包含 …...
数组理论基础
什么是数组 在Java中,数组是一种数据结构,用来存储同一类型的多个元素。这些元素可以按照索引访问,方便对数据进行操作和管理。数组在编程中应用广泛,是一种基本且重要的数据结构。 数组的基本概念 1. 元素:数组中的…...
Linux操作系统--静态库和动态库的生成and四种解决加载找不到动态库的四种方法
目录 必要的知识储备: 生成静态库: 生成动态库: 解决加载找不到动态库的四种方法: 第一种:拷贝到系统默认的库路径 /usr/lib64/ 第二种:在系统默认的库路径/usr/lib64/下建立软链接 第三种࿱…...
安科瑞能源管理系统如何解决工业园区能源管理难,运维成本高的问题?
一、行业痛点:高能耗背后的“隐形炸弹 1. 能源管理粗放:水、电、气、冷热等多类型能源分散管理,人工抄表效率低,跑冒滴漏难追踪。 2. 电能质量隐患:变频设备引发谐波干扰,导致设备停机、电容器烧毁&#…...
大模型赋能工业制造革新:10个显效可落地的应用场景
在工业4.0的汹涌浪潮中,制造业正面临着前所未有的转型挑战。传统制造模式在效率、成本、质量等方面逐渐难以满足市场需求,企业急需借助新技术实现数字化转型,以提升自身竞争力。在此背景下,基于先进的数据分析技术、大模型、知识图…...
【android bluetooth 框架分析 02】【Module详解 4】【Btaa 模块介绍】
1. 背景 我们在上一篇文章中介绍 HciHal 模块时,有如下代码 // system/gd/hal/hci_hal_android_hidl.ccvoid ListDependencies(ModuleList* list) const {list->add<SnoopLogger>();if (common::init_flags::btaa_hci_is_enabled()) {list->add<ac…...
gitee新的仓库,Vscode创建新的分支详细步骤
第一步点击创建分支输入新分支的名字 第二步 第三步 第四步...
OpenHarmony - 小型系统内核(LiteOS-A)(五)
OpenHarmony - 小型系统内核(LiteOS-A)(五) 六、文件系统 虚拟文件系统 基本概念 VFS(Virtual File System)是文件系统的虚拟层,它不是一个实际的文件系统,而是一个异构文件系统之…...
Unity动态合批(Dynamic Batching)解析
什么是动态合批? 动态合批是Unity引擎的一项核心优化技术,用于减少绘制调用(Draw Calls)数量,提高游戏性能。它通过将多个使用相同材质的小型可移动物体的渲染操作合并为单个绘制调用,减轻CPU向GPU发送命令…...
【Python】迭代器(Iterator)vs 生成器(Generator)
迭代器(Iterator) vs 生成器(Generator) 1.迭代器(Iterator)1.1 是什么?1.2 示例1.3 适用场景 2.生成器(Generator)2.1 是什么?2.2 示例2.3 适用场景 3.迭代器…...
el-input 限制只能输入负数、正数或2位小数的数值
需求 el-input需要指定输入格式,当键盘事件触发时限制只能输入负数、正数或2位小数的数值。 解决方案 自定义校验数字输入的键盘事件方法函数。 具体实现步骤 1、创建验数字输入的键盘事件方法 /*** 校验数字输入的键盘事件* param {Event} event - 键盘事件对…...
对话框类别组件编写
形如如图所示的对话框的编写 一、基本组件的定义 <template><div><el-dialogclass"cust-dialog":title"title":model-value"show":show-close"showClose":top"toppx":width"widthpx":close-on-…...