一.实验环境设定

在企业中通常我们使用的Linux操作系统不止一个,那么如何在多个Linux操作系统中进行文件传输,这是我们
必须掌握的技能,通常在Linux中进行文件传输,我们需要借助网络和一个服务sshd,这个服务通常在Linux
系统中是开机启动并且在火墙端接口中放行的

1.准备2台主机并查看ip

#主机1的IP地址
在这里插入图片描述

#主机2的IP地址
在这里插入图片描述

2.修改主机名称

[root@localhost Desktop]# hostnamectl hostname node1
#更改后的主机名1(192.168.237.129)
在这里插入图片描述

[root@localhost Desktop]# hostnamectl hostname node2
#更改后的主机名2(192.168.237.130)
在这里插入图片描述

3.sshd远程服务

[root@node1 桌面]# systemctl status sshd #查看sshd状态

在这里插入图片描述
#立即开启sshd远程服务和开机时自动开启sshd
[root@node1 桌面]# systemctl enable --now sshd
#立即关闭sshd远程服务和取消开机自启sshd
[root@node1 桌面]# systemctl disable --now sshd

#立即开启防火墙和开机自启防火墙
[root@node1 桌面]# systemctl enable --now firewalld
#立即关闭防火墙和取消开机自启防火墙
[root@node1 桌面]# systemctl disable --now firewalld

二.文件传输命令scp(稳定)

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

1.上传

scp 本地文件路径 远程主机用户@远程主机ip:远程主机接收绝对路径
#将本地文件传输到另一台主机里
在这里插入图片描述
#传输目录
[root@node1 ~]# scp -r /etc/ root@192.168.128.130:/root/Desktop #远程复制目录
[root@node1 ~]# scp -qr /etc/ root@192.168.128.130:/root/Desktop #静默传输信息

2.下载

scp 远程主机用户@远程主机ip:远程主机接收绝对路径 本地文件路径

#从另一台主机复制文件haha到本地
[root@node1 ~]# scp root@192.168.128.130:/root/Desktop/haha /root/Desktop
root@192.168.128.130’s password:
[root@node1 ~]# ls /root/Desktop
haha

3.免密传输

#创建密钥对
在这里插入图片描述
#实现ssh免密登录,scp免密传文件,本机以后连接192.168.128.130不需要再输入密码
在这里插入图片描述

三.rsync远程文件传输(高效)

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

1.设置实验环境

#在node1中监控实验效果

[root@node1 mnt]# useradd lee
[root@node1 mnt]# useradd timinglee
[root@node1 ~]# rm -rf /mnt/*
[root@node1 ~]# watch -n 1 ls -Rl /mnt/

#在node2中建立实验素材
#实验素材效果展示
在这里插入图片描述

2.命令参数

[root@node2 mnt]# rsync -r /mnt root@192.168.128.129:/mnt/ -r ##复制目录
skipping non-regular file “mnt/timinglee”
[root@node2 mnt]# rsync -pr /mnt root@172.25.254.100:/mnt/ -p ##复制权限
skipping non-regular file “mnt/timinglee”
[root@node2 mnt]# rsync -por /mnt root@192.168.128.129:/mnt/ -o ##复制拥有者
skipping non-regular file “mnt/timinglee”
[root@node2 mnt]# rsync -pogr /mnt root@192.168.128.129:/mnt/ -g ##复制拥有组
skipping non-regular file “mnt/timinglee”
[root@node2 mnt]# rsync -lpogr /mnt root@192.168.128.129:/mnt/ -l ##复制链接
[root@node2 mnt]# rsync -lpogtr /mnt root@192.168.128.129:/mnt/ -t ##复制时间戳
[root@node2 mnt]# rsync -lpogtrD /dev/pts root@192.168.128.129:/mnt/ -D ##复制设备文件

四.优化远程传输

1.文件归档

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

#创建归档文件
c ##创建
f ##指定文件名称
[root@node1 ~]# tar cf etc.tar /etc/
在这里插入图片描述
t ##查看
r ##向归档文件中添加文件
在这里插入图片描述
–get ##解档指定文件
在这里插入图片描述
x ##解档
在这里插入图片描述
–delete ##删除指定文件
在这里插入图片描述
-C ##指定解档路径
在这里插入图片描述

2.压缩文件

压缩文件可以减少存储空间的占用,提升数据传输的效率
Linux 系统默认支持多种压缩格式,以下是一些常见的默认支持格式:
1.gz 格式:以.gz为扩展名,是 Linux 系统中广泛使用的压缩格式。它使用gzip算法进行压缩,具有较快的压缩和解压缩速度,适用于大多数日常文件的压缩。例如,许多软件包在发布时会采用.gz压缩格式。
2.bz2 格式:文件扩展名为.bz2。这种格式采用bzip2算法,压缩率相对较高,但压缩和解压缩速度比gz格式慢一些。在需要更高压缩比的情况下,如对大型数据文件或备份文件进行压缩时,常采用.bz2格式。
3.xz 格式:以.xz为扩展名,使用xz算法进行压缩。它具有极高的压缩率,能最大程度地减小文件体积,但压缩和解压缩过程相对较慢,通常用于对空间要求极为苛刻的场景,如长期存储的大量数据归档。
4.zip 格式:虽然zip格式在 Windows 系统中更为常见,但 Linux 系统也默认支持。它可以将多个文件和目录压缩到一个文件中,并且支持跨平台使用,方便在不同操作系统之间传输文件。此外,zip

#制作打包文件
在这里插入图片描述
#zip压缩
在这里插入图片描述
#zip解压缩
在这里插入图片描述
#gz压缩
在这里插入图片描述
#gz解压缩
在这里插入图片描述
#bz2压缩
在这里插入图片描述
#bz2解压缩
在这里插入图片描述
#xz压缩
在这里插入图片描述
#xz解压缩
在这里插入图片描述

3.归档压缩一部完成(只支持gz,bz2,xz)

#gz
在这里插入图片描述

#bz2
在这里插入图片描述

#xz
在这里插入图片描述

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐