试验环境介绍

在企业的多Linux系统环境中,文件传输是日常运维和开发中的必备技能。Linux中常用的文件传输工具(scp、rsync)以及如何通过归档与压缩提升传输效率,我们需要借助网络和一个服务sshd,这个服务通常在Linux系统中是开机启动并且在火墙端接口中放行的。

一、准备工作:配置SSH服务与防火墙1.查看sshd状态

systemctl status sshd

linux之间传文件命令_Linux文件传输效率提升方法_Linux文件传输工具scp rsync使用

2. 启用SSHD服务

Linux文件传输通常基于SSH协议,需确保sshd服务已启动并设置开机自启:

systemctl status sshd    # 查看服务状态
systemctl enable --now sshd  # 启用并立即启动服务

3. 关闭防火墙(仅限实验环境)

为避免网络干扰,可临时关闭系统防火墙:

systemctl disable --now firewalld

linux之间传文件命令_Linux文件传输工具scp rsync使用_Linux文件传输效率提升方法

二、文件传输工具详解1. SCP:安全加密传输

scp (Secure Copy)是一个在 Linux、Unix 以及类 Unix 系统中广泛使用的命令,用于在本地主机和远程主机之间安全地复制文件和目录。它基于 SSH(Secure Shell)协议,因此在传输过程中会对数据进行加密,确保数据的安全性。

常用命令

scp [-rq] /本地/文件路径 用户名@远程IP:/远程/目录
# -r:传输目录;-q:静默模式(不显示进度)

scp lee root@172.25.254.100:/root/Desktop

scp -r timinglee root@172.25.254.100:/root/Desktop ## -r 表示复制目录

scp [-r] 用户名@远程IP:/远程/文件路径 /本地/目录

scp -q lee root@172.25.254.100:/root/Desktop ## -q 传输文件时不显示进度

远程文件 → 本地主机

scp [-r]  

#示例:
scp root@172.25.254.100:/root/Desktop/timingleedir /root/Desktop

2. Rsync:增量同步与高效传输

rsync 是一个强大且高效的文件同步和传输工具ubuntu linux,既可以通过 SSH 协议进行安全传输,也能使用 rsync 守护进程( rsync daemon )进行传输,不仅能实现本地和远程主机间的文件传输,还具备强大 的增量传输功能。它会比较源文件和目标文件的差异,仅传输发生变化的部分,从而节省大量的传输时 间和带宽。同时linux之间传文件命令,它也支持本地文件系统内的文件同步。

通过差异比对仅传输变化部分,适合大文件或频繁更新的场景,支持保留文件属性。

核心参数:参数功能

-r

递归复制目录

-l

保留符号链接

-p

保留文件权限

-t

保留时间戳

-o

保留文件所有者

-g

保留文件所属组

-D

复制设备文件

使用示例:

# 同步远程目录到本地(保留权限、时间戳等)
rsync -rlptog root@192.168.1.100:/data/backup/ /mnt/backup/
# 仅同步目录内容(不包含目录本身)
rsync -r root@192.168.1.100:/data/files/ /mnt/files/

三、加速传输:归档与压缩技巧1. 归档(TAR)

归档是指将多个文件或目录收集整合到一个单独的文件中,这个单独的文件就被称为归档文件。归档的主要目的是方便对大量文件进行管理、备份和传输。

tar

是 Linux 系统中最常用的归档格式之一。它可以将多个文件和目录打包成一个.tar 文件,但不进行压缩

tar

c                    ##创建

f                     ##指定文件名称

x                     ##解档

v                     ##现实过程

t                     ##查看

r                     ##向归档文件中添加文件

--get             ##解档指定文件

--delete        ##删除指定文件

-C                 ##指定解档路径

Linux文件传输效率提升方法_Linux文件传输工具scp rsync使用_linux之间传文件命令

Linux文件传输工具scp rsync使用_Linux文件传输效率提升方法_linux之间传文件命令

压缩

压缩文件可以减少存储空间的占用,提升数据传输的效率

Linux 系统默认支持多种压缩格式,以下是一些常见的默认支持格式:

gz 格式:以.gz为扩展名,是 Linux 系统中广泛使用的压缩格式。它使用gzip算法进行压缩,具有较快的压缩和解压缩速度,适用于大多数日常文件的压缩。例如,许多软件包在发布时会采用.gz压缩格式。

bz2 格式:文件扩展名为.bz2。这种格式采用bzip2算法,压缩率相对较高,但压缩和解压缩速度比gz格式慢一些。在需要更高压缩比的情况下,如对大型数据文件或备份文件进行压缩时,常采用.bz2格式。

xz 格式:以.xz为扩展名,使用xz算法进行压缩。它具有极高的压缩率,能最大程度地减小文件体积,但压缩和解压缩过程相对较慢,通常用于对空间要求极为苛刻的场景,如长期存储的大量数据归档。

zip 格式:虽然zip格式在 Windows 系统中更为常见,但 Linux 系统也默认支持。它可以将多个文件和目录压缩到一个文件中,并且支持跨平台使用,方便在不同操作系统之间传输文件。此外,zip格式还支持加密功能,可以对压缩文件中的内容进

2. 压缩工具对比格式命令特点

gz

gzip 文件

速度快,通用性强

bz2

bzip2 文件

压缩率高,速度较慢

xz

xz 文件

极高压缩率linux之间传文件命令,适合长期存储

zip

zip -r 压缩包 目录

跨平台支持linux系统下载,支持加密

压缩命令的使用()1)zip

zip -r mnt.tar.zip mnt.tar                    #zip格式压缩

unzip mnt.tar.zip                                #zip格式解压缩

Linux文件传输工具scp rsync使用_Linux文件传输效率提升方法_linux之间传文件命令

(2)gzip

gzip mnt.tar         #gzip格式压缩

gunzip mnt.tar.gz         #gzip格式解压缩

Linux文件传输效率提升方法_Linux文件传输工具scp rsync使用_linux之间传文件命令

(3)bz2

bzip2 mnt.tar #bzip2格式压缩

bunzip2 etc.tar.bz2 #bzip2格式解压缩

linux之间传文件命令_Linux文件传输效率提升方法_Linux文件传输工具scp rsync使用

(4)xz

xz mnt.tar #xz格式压缩

unxz mnt.tar.xz #xz格式解压缩

Linux文件传输工具scp rsync使用_linux之间传文件命令_Linux文件传输效率提升方法

一步完成归档与压缩:

gzip

tar zcf etc.tar.gz /etc

tar zxf etc.tar.gz

bzip2

tar jcf etc.tar.bz2 /etc

tar jxf etc.tar.bz2

xz

tar Jcf etc.tar.xz /etc

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复