linux 文件传输命令

news/2025/9/22 17:06:01/文章来源:https://www.cnblogs.com/hanease/p/19105607
在 Linux 系统中,有多种命令可用于文件传输,适用于不同场景(本地传输、网络传输、不同协议等)。以下是常用的文件传输命令:

1. 本地文件传输命令

cp - 复制文件 / 目录

最基础的本地文件复制命令
bash
 
 
# 复制文件
cp 源文件 目标路径# 复制目录(递归)
cp -r 源目录 目标路径# 示例:复制 file.txt 到 /tmp 目录
cp file.txt /tmp/# 示例:复制 dir1 及其内容到 dir2
cp -r dir1 dir2/
 

mv - 移动 / 重命名文件

可用于本地移动文件,也可重命名
bash
 
 
# 移动文件
mv 源文件 目标路径# 重命名文件
mv 旧文件名 新文件名# 示例:将 file.txt 移动到 /home/user 目录
mv file.txt /home/user/# 示例:重命名 file.txt 为 newfile.txt
mv file.txt newfile.txt
 

2. 网络文件传输命令(基于 SSH)

scp - 安全复制(SSH 协议)

通过 SSH 加密传输文件,支持本地与远程、远程与远程之间的传输
bash
 
 
# 本地 → 远程
scp 本地文件 用户名@远程IP:远程路径# 远程 → 本地
scp 用户名@远程IP:远程文件 本地路径# 传输目录(-r 递归)
scp -r 本地目录 用户名@远程IP:远程路径# 指定端口(-P,大写)
scp -P 2222 file.txt user@192.168.1.1:/tmp/
 
(详细用法可参考之前的 scp 说明)

sftp - 安全文件传输协议(SSH 协议)

交互式的文件传输工具,类似 FTP 但基于 SSH 加密
bash
 
 
# 连接远程主机
sftp 用户名@远程IP# 常用交互命令
get 远程文件  # 下载远程文件到本地
put 本地文件  # 上传本地文件到远程
ls            # 列出远程目录
cd            # 切换远程目录
lls           # 列出本地目录
lcd           # 切换本地目录
quit/exit     # 退出
 

3. 其他网络传输命令

rsync - 高效同步工具

适用于备份和镜像,仅传输差异内容,速度快
bash
 
 
# 本地同步目录
rsync -av 源目录 目标目录# 远程同步(本地 → 远程)
rsync -av 本地目录 用户名@远程IP:远程路径# 远程同步(远程 → 本地)
rsync -av 用户名@远程IP:远程目录 本地路径# 选项说明:
# -a:归档模式(递归+保留权限等)
# -v:显示详细信息
# -z:传输时压缩
# --delete:删除目标中源没有的文件(保持完全一致)
 

wget - 下载网络文件

通过 HTTP、HTTPS、FTP 等协议下载文件
bash
 
 
# 下载文件到当前目录
wget https://example.com/file.zip# 指定保存文件名
wget -O newname.zip https://example.com/file.zip# 后台下载
wget -b https://example.com/largefile.iso# 断点续传
wget -c https://example.com/largefile.iso
 

curl - 多功能传输工具

支持多种协议,可下载或上传文件
bash
 
 
# 下载文件(类似 wget)
curl -O https://example.com/file.txt  # 保存为原文件名
curl -o newfile.txt https://example.com/file.txt  # 指定文件名# 上传文件(FTP 示例)
curl -T localfile.txt ftp://ftp.example.com/ -u 用户名:密码
 

ftp - 文件传输协议(非加密)

传统的 FTP 工具,不加密,安全性较低,建议优先使用 sftp
bash
 
 
# 连接 FTP 服务器
ftp ftp.example.com# 登录后常用命令
get 远程文件  # 下载
put 本地文件  # 上传
ls、cd、quit  # 类似 sftp
 

总结

  • 本地传输:优先用 cpmv
  • 远程安全传输:首选 scp(简单传输)、sftp(交互式)、rsync(高效同步)
  • 下载网络文件:wget 或 curl
  • 注意:涉及远程传输时,需确保目标主机开启相应服务(如 SSH 服务用于 scp/sftp)。
 
rsync 详解
rsync 是一款高效的文件同步工具,全称为 "remote sync"。它最核心的特点是增量传输—— 只传输源和目标之间的差异部分,而不是完整复制所有内容,这使得它在备份、镜像和大文件传输场景中非常高效。

基本原理

rsync 通过对比源和目标文件的校验和(checksum)来识别差异,只传输变化的部分,大幅节省带宽和时间。它支持本地同步和跨网络同步(基于 SSH 或 rsync daemon)。

基本语法

bash
 
 
rsync [选项] 源路径 目标路径
 
  • 源路径 / 目标路径可以是:
    • 本地路径(如 /home/user/file 或 ./dir
    • 远程路径(如 user@remotehost:/path

常用选项(核心参数)

1. 模式与递归

  • -r:递归同步目录(但不保留文件属性)
  • -a:归档模式(最常用),等价于 -rlptgoD,表示:
    • -r 递归
    • -l 保留符号链接
    • -p 保留权限
    • -t 保留修改时间
    • -g 保留组信息
    • -o 保留所有者信息
    • -D 保留设备文件和特殊文件

2. 压缩与显示

  • -v:显示详细输出(verbose)
  • -z:传输时压缩数据(节省带宽,适合网络传输)
  • -h:以人类可读的格式显示大小(如 K、M、G)

3. 删除与镜像

  • --delete:删除目标路径中源路径没有的文件(使目标与源完全一致)
  • --delete-excluded:删除被排除的文件

4. 排除与包含

  • --exclude=PATTERN:排除匹配模式的文件 / 目录
  • --include=PATTERN:包含匹配模式的文件 / 目录(优先级高于 exclude)

5. 其他实用选项

  • -n:模拟运行(dry run),只显示会执行的操作,不实际同步
  • -P:等价于 --partial --progress,保留部分传输的文件并显示进度
  • -e "ssh -p 端口":指定 SSH 端口(用于远程同步)

典型使用场景

1. 本地目录同步

bash
 
 
# 将 dir1 同步到 dir2(保持结构和属性)
rsync -av /path/to/dir1 /path/to/dir2# 同步时删除 dir2 中 dir1 没有的文件(完全镜像)
rsync -av --delete /path/to/dir1 /path/to/dir2
 

2. 本地 → 远程同步(基于 SSH)

bash
 
 
# 将本地目录同步到远程服务器
rsync -avz /local/path user@remotehost:/remote/path# 指定 SSH 端口(如 2222)
rsync -avz -e "ssh -p 2222" /local/path user@remotehost:/remote/path
 

3. 远程 → 本地同步(基于 SSH)

bash
 
 
# 将远程目录同步到本地
rsync -avz user@remotehost:/remote/path /local/path
 

4. 排除特定文件 / 目录

bash
 
 
# 同步时排除 .log 文件和 tmp 目录
rsync -av --exclude="*.log" --exclude="tmp/" /source /dest
 

5. 断点续传大文件

bash
 
 
# 传输大文件时保留部分传输的文件并显示进度
rsync -avP large_file.iso user@remotehost:/backup/
 

6. 模拟运行(测试命令效果)

bash
 
 
# 查看同步会执行哪些操作,不实际修改文件
rsync -avn --delete /source /dest
 

与其他工具的对比

  • vs scprsync 只传差异部分,更适合重复同步;scp 每次都是全量复制,适合单次传输。
  • vs cprsync 支持增量同步、远程传输和更精细的控制;cp 仅用于本地全量复制。

注意事项

  1. 路径末尾的 / 影响同步行为:
    • rsync -av /source/dir /dest:会在 dest 下创建 dir 并同步内容
    • rsync -av /source/dir/ /dest:直接将 dir 内的内容同步到 dest 中
  2. 权限问题:远程同步时确保对源有读权限,对目标有写权限
  3. --delete 选项慎用,可能会误删重要文件(建议先用 -n 测试)
通过灵活组合选项,rsync 可以满足从简单文件复制到复杂系统备份的各种需求,是 Linux 系统中不可或缺的工具之一。

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

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

相关文章

济南网站备案编写软件开发文档

2024年淘宝天猫618活动,将于2024年5月19日开始,今年618淘宝天猫取消了预售环节。同时,618淘宝天猫也提供了多项优惠活动:超级红包、跨店满减、官方立减、全程价保及草柴APP领优惠券拿购物返利等多重优惠活动。 2024年淘宝天猫618…

黑龙江省城乡建设厅网站首页高端app开发

1.进程间通信概述 UNIX系统IPC是各种进程通信方式的统称。 2.管道通信原理 特点: 1.它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。 2.它只能用于具有亲缘关系的进程之间通信(也是父子进程或者…

济南网站开发公司价格比较网

Ragas是一个框架,它可以帮助你从不同的方面评估你的问答(QA)流程。它为你提供了一些指标来评估你的问答系统的不同方面,具体包括: 评估检索(context)的指标:提供了上下文相关性&…

网站建设国内外研究现状模板建模培训机构

yum or rpm?yum安装方式很方便,但是下载mysql的时候从官网下载,速度较慢。rpm安装方式可以从国内镜像下载mysql的rpm包,比较快。rpm也适合离线安装。环境说明•操作系统:Centos7.4 (CentOS-7-x86_64-Minimal-1804.iso)…

沈阳网站设计公司设计工作室网站

进入安装sparkclient的节点 hdfs准备一个文件 su - hdfs vi text.txt 随便写几行东西 #创建目录 hdfs dfs -mkdir /user/hdfs/test #上传文件 hdfs dfs -put test.txt /user/hdfs/test/ #检查文件是否在 hdfs dfs -ls /user/hdfs/test/ #检查内容是否对 hdfs dfs -c…

哈尔滨seo优化公司天津seo推广方法

Datatables是一个jquery插件,用于显示表格信息–它可以增强简单的表或可以使用基于AJAX的数据并以表格形式显示信息。 数据表要​​求来自服务器的数据遵循特定的JSON格式才能在屏幕上显示。 考虑要显示成员实体列表的情况,那么对于成员而言&#xff0c…

德州手机网站建设费用嵌入式软件开发流程图

安防行业的发展,从传统单一的业务形态到业务多元化与国际化的转变,是社会安全需求变化与视频监控技术双向驱动的结果。在新的行业生态体系下,传统监控技术与新兴技术的融合,跨行业的业务协同,以及以客户为中心的产业形…

网站布局英文安卓系统

开源项目推荐 Retina Retina 是一个与云无关的开源 Kubernetes 网络可观测平台,它提供了一个用于监控应用程序运行状况、网络运行状况和安全性的集中中心。它为集群网络管理员、集群安全管理员和 DevOps 工程师提供可操作的见解,帮助他们了解 DevOps、…

新手也能轻松上手!midas Gen 2019 安装详细图解

软件介绍 midas Gen 2019是由迈达斯推出的通用建筑结构设计软件,集人性化操作界面与卓越计算机显示技术于一体,提供丰富的设计模块、高级分析模块及辅助模块。其强大的有限元库涵盖梁单元、桁架单元、板单元等多元类…

Redis AOF原理

目录背景和价值参考资料 背景和价值 参考资料 https://www.cnblogs.com/YMWH/articles/16525793.html

001_string操作

1、使⽤⽅法(3个方法)修改字符串的⼤⼩写,在字符串(f字符串)中使⽤变量 first_name = input(Enter your first name: ) last_name = input(Enter your last name: ) full_name = f"{first_name} {last_name}…

hbase 面试题

单行的强一致性的实现方式HBase 的操作粒度是 行(RowKey),一行的数据一定存放在同一个 RegionServer 上。 写入时先写 WAL 再写 MemStore,保证数据的持久性和一致性。 行级操作(Put/Delete/CheckAndPut/Increment…

纯jsp做的留言板网站展厅设计策划方案

PACS(Picture Archiving and Communication System)系统作为医学图像的存储和传输平台,为医生和患者提供了便捷高效的诊疗服务支持。近年来,三维重建技术在PACS系统中的应用越来越广泛。 三维后处理功能是临床数字技术中的重要组成…

ANSYS Electronics 2025 R1 安装与使用全流程图文教程

软件介绍 ANSYS Electronics 2025 R1是ANSYS公司推出的电磁场仿真软件,专注于电子设计与分析领域。该版本集成了HFSS的RLC端口阻抗定义、梯度表面粗糙度模型及高阶元素支持,显著提升了电子组件和天线阵列的性能。同时…

h5制作成品衡阳seo优化服务

2021年和2022年,曾经有一个概念在整个数据开发方向传播,不管是懂和不懂的人,都能扯上一两句。那就是大家耳熟能详的「流批一体」。 时至今日,已经很少有人再提起这个话题,这个概念在21、22年很多面试中也会被面试官问到…

网站建设模板源码网站建设课程设计实训报告

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、作用域是什么?二、作用域类别1.全局作用域(global scope)2.名字空间作用域(namespace scope)3.局…

云南网站建设公司前十名招聘seo网站推广

【通览一百个大模型】Baize(UCSD) 作者:王嘉宁,本文章内容为原创,仓库链接:https://github.com/wjn1996/LLMs-NLP-Algo 订阅专栏【大模型&NLP&算法】可获得博主多年积累的全部NLP、大模型和算法干货…

北京备案网站软件开发工具名词解释

1. 安装 JWT 相关的包 运行下面两个命令,安装如下两个 JWT 相关的包 npm i jsonwebtoken express-jwt jsonwebtoken 用于生成 JWT 字符串 express-jwt 用于将 JWT 字符串解析还原成 JSON 对象 2. 导入 JWT 相关的包 // 导入 const jwt require(jsonwebtoken) con…

做网站策划需要用什么软件制作介绍的网站

展开全部子网掩码为代表的copy意思是代表有2113254个可用IP。总IP数为16,包括一个5261网络地址,一个广播4102地址和1653254个可用地址。子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是…

可以做两个网站指向同一个域名成功案例展示网站

在.NET8 中引入了KeyedService支持,这使得可以支持一对多的依赖注入了。在官方,这个功能叫键化DI服务。 什么是键化DI服务?官方解释是这样的,键化依赖项注入(DI)服务提供了一种适用键来注册和检索DI服务的…