【Linux笔记】文件的传输(scp、rsync、归档、压缩)

一、sshd

1、概念

在Linux系统中,文件传输常依赖于SSH协议(Secure Shell),而sshdOpenSSH Daemon)是负责处理SSH连接的后台服务程序。通过sshd,用户可以在加密的通道中进行安全的远程登录、命令执行和文件传输(如scpsftprsync等)。

2、命令

命令说明
systemctl start sshd启动 sshd 服务
systemctl stop sshd停止 sshd 服务
systemctl restart sshd重启 sshd 服务(中断现有连接)
systemctl reload sshd重载配置文件(不中断连接)
systemctl status sshd查看服务运行状态

二、系统文件传输方法 

1、scp

(1)概念

scpSecure Copy Protocol)是Linux/Unix系统中基于SSH协议的命令行文件传输工具,通过加密通道在本地与远程主机之间安全传输文件或目录。其底层依赖sshd服务运行,适合快速、简单的文件传输任务。

(2)常用选项

选项说明
-r递归复制目录(传输文件夹必选)
-C启用压缩(适合低速网络)
-v显示详细传输过程(调试用)
-i指定私钥文件(密钥认证时使用)
-l限制带宽(单位:Kbit/s,如 -l 1000 限制1Mbps)
-p保留文件修改时间、权限等属性

(3)命令

1)基础用法
scp [选项] 源文件 目标路径
2)上传本地文件到远程主机
scp [-r] <本地文件> <远程主机用户@远程主机ip:远程主机目录的绝对路径>

        示例 

        我们要先多创建一个克隆机出来模拟远程主机,通过ip a 来查看克隆机的IP地址(这里为192.168.76.129)

        lee为要传输的文件名字

        运行后远程主机桌面就会显示刚刚传过来的文件lee

         

3)从远程主机下载文件到本地  
scp [-r] <远程主机用户@远程主机ip:远程主机目录的绝对路径> <本地文件>

        示例 

         同样,执行命令后,本地桌面会出现从远程主机下载下来的文件lee

2、rsync

(1)概念

rsync(Remote Sync)是一个高效的文件同步工具,专为增量传输设计。它仅传输源与目标之间的差异部分,大幅减少数据传输量,尤其适合同步大文件或远程备份。

其特点包括:

  • 增量同步:仅传输修改过的文件或文件块,节省时间和带宽。

  • 灵活性:支持本地、远程(通过SSH)、压缩、排除文件、权限保留等。

  • 可靠性:支持断点续传和完整性校验。

  • 多功能:可镜像目录、删除多余文件、实时同步等。

(2)常用选项

选项说明
-a归档模式(保留权限、时间戳、递归同步等,等价于 -rlptgoD
-v显示详细传输过程
-z启用压缩传输(节省带宽)
-P显示进度,并支持断点续传(等价于 --partial --progress
-n模拟运行(不实际传输,用于测试)
-h以人类可读格式输出(如KB/MB)
--delete删除目标中存在但源中不存在的文件(保持严格同步)
--exclude排除指定文件或目录(如 --exclude="*.log"
--bwlimit限制带宽(单位:KB/s,如 --bwlimit=1000 限制1MB/s)

(3)命令

1)基本用法
rsync [选项] 源路径 目标路径
2) 上传本地文件到远程主机
rsync [-rlptogD] <本地文件> <远程主机用户@远程主机ip:远程主机目录的绝对路径>

        示例 

3)从远程主机下载文件到本地  
rsync [-rlptogD] <远程主机用户@远程主机ip:远程主机目录的绝对路径> <本地文件>

3、 scp对比rsync

特性rsyncscp
传输效率增量传输,仅同步差异部分全量传输
功能支持删除、排除、压缩、带宽限制等基础文件传输
适用场景定期备份、大文件同步、复杂需求单次少量文件快速传输
资源占用较高(需计算文件差异)较低

三、压缩与归档(加快文件传输速度)

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 

此时桌面就会出现刚刚归档成功的文件etc.tar

2)tar xf示例

 此命令意思为:查看etc.tar文件

etc.tar文件内的文件会显示出来

 

3)tar rf示例 

我们先创建一个文件file,用于观察tar rf指令是如何添加文件的

 随后再输入tar rf指令

 此命令意思为:将文件file添加并归档到etc.tar中

此时我们用管道|查询归档文件内部(命令:tar tf etc.tar file | tail -n 3)

可以看到file文件已被添加进去 

4)tar tf示例 

此命令详情请看刚刚的tar rf

2、压缩(gz、bz2、xz、zip)

(1)概念

通过算法减小文件体积(如 .gz.xz),减少存储空间的占用,提升数据传输的效率

(2)常用压缩工具及命令

1)gzip
  • 特点:速度快、压缩率中等,广泛兼容。

  • 压缩文件

    gzip file.txt          # 压缩为 file.txt.gz(删除原文件)
    gzip -k file.txt       # 保留原文件
    gzip -9 file.txt       # 最高压缩率(默认-6)
  • 解压文件: 
    gunzip file.txt.gz     # 解压为 file.txt
  • 查看内容: 
    zcat file.txt.gz       # 不解压查看内容
  • 示例:
     

 

2)bzip2

  •  特点:压缩率高于 gzip,速度较慢。

  • 压缩文件

    bzip2 file.txt         # 压缩为 file.txt.bz2
    bzip2 -9 file.txt      # 最高压缩率(默认-9)
  • 解压文件: 
    bunzip2 file.txt.bz2   # 解压为 file.txt
  • 查看内容: 
    bzcat file.txt.bz2     # 不解压查看内容
  •  示例:

 

3)xz
  •  特点:压缩率最高,速度最慢,适合长期存储。

  • 压缩文件

    xz file.txt            # 压缩为 file.txt.xz
    xz -9e file.txt        # -e 提高压缩率(牺牲速度)
  • 解压文件: 
    unxz file.txt.xz       # 解压为 file.txt
  • 查看内容: 
    xzcat file.txt.xz      # 不解压查看内容
  •  示例:

 4)zip
  •  特点:跨平台兼容(Windows/Linux),支持加密。

  • 压缩文件

    zip archive.zip file1.txt dir1/  # 压缩文件/目录
    zip -r archive.zip dir/          # 递归压缩目录
    zip -e archive.zip file.txt      # 加密压缩(输入密码)
  • 解压文件: 
    unzip archive.zip                # 解压到当前目录
    unzip archive.zip -d target_dir  # 解压到指定目录
  • 查看内容: 
    unzip -l archive.zip             # 列出压缩包内容


3、归档压缩一步完成命令

即字面意思,可以把归档操作和压缩操作合为一步来完成,进一步提升效率

(1)gzip

tar zcf etc.tar.gz /etc
tar zxf etc.tar.gz

(2)bzip2

tar jcf etc.tar.bz2 /etc
tar jxf etc.tar.bz2

(3)xz

tar Jcf etc.tar.xz /etc
tar Jxf etc.tar.xz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

麟城Lincoln

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值