RH124-Linux系统中的文件传输

Linux系统中的文件传输

实验环境:

与前面的实验环境大致相同,还是需要两台主机,并且两台主机可以互相通信,我选择的是两台虚拟机,一台的IPADRRES是172.25.254.100(充当客户端),另一台是172.25.254.200(充当服务器),在实验开始之前要先关闭防火墙,以下是命令:

命令 效果
systemctl disable firewalld 关闭防火墙
systemctl stop firewalld 关闭防火墙

用命令关闭后可以用reboot重启,之后在实验结束后用restart还原

一.scp命令:

scp命令可以用于对于本机文件和远程主机文件之间的文件传输:

命令 效果
scp 本地文件 远程主机用户@远程主机ip:远程主机目录的绝对路径 将本地文件发给远程主机,并且存放在绝对路径所示的目录下
scp 远程主机用户@远程主机ip:远程主机文件的绝对路径 本地文件 将远程主机的文件复制到本地

[1]实验一:将本机文件传输至远程主机,在本地主机/mnt/新建一个文件filey,在确保主机和远程主机防火墙关闭且sshd服务器开启的状态下,在第一台主机中用命令发送给远程主机的桌面下:
本机操作:
在这里插入图片描述
远程主机显示:
在这里插入图片描述
[2]实验二:将远程主机文件复制到本地,在远程主机桌面下新建文件filex,在确保主机和远程主机防火墙关闭且sshd服务器开启的状态下,在第一台主机使用命令复制至本机的桌面中:
远程主机操作:
在这里插入图片描述
本机操作:
在这里插入图片描述
scp参数

参数 效果
-r 复制目录
-q 传输文件时不显示进度条

以用scp命令将远程主机文件复制至本地为例,分别展开实验:
[1]-r可以传输目录:
远程主机操作:
在这里插入图片描述
本机操作:
在这里插入图片描述
[2]-q表示静默传输,传输时不显现进度条:
在这里插入图片描述

二.rsync:

1.rsync与scp的对比实验:

本实验的操作命令:

命令 效果
dd if=/dev/zero of=/mnt/westosfile1 bs=1M count=10 of=outputfile,bs=blocksize,count=块的个数

本实验的监控命令:

操作 效果
time +其他指令 显示执行该指令的时间

实验步骤:
[1]编辑操作指令:

dd if=/dev/zero of=/mnt/westosfile1 bs=1M count=10
dd if=/dev/zero of=/mnt/westosfile1 bs=1M count=20
dd if=/dev/zero of=/mnt/westosfile1 bs=1M count=30

[2]创建测试脚本:

扫描二维码关注公众号,回复: 12445018 查看本文章
vim check_scp.sh ##检测scp传输时间
time scp -qr /root/Desktop [email protected]:/root/Desktop
time scp -qr /root/Desktop [email protected]:/root/Desktop
time scp -qr /root/Desktop [email protected]:/root/Desktop
##################################################
vim check_rsync.sh ##检测rsync的传输时间
time rsync -raCq /root/Desktop [email protected]:/root/Desktop
time rsync -raCq /root/Desktop [email protected]:/root/Desktop
time rsync -raCq /root/Desktop [email protected]:/root/Desktop

[3]对比实验:
在这里插入图片描述
通过实验及时间传输对比,scp命令时间大致保持不变,而rsync命令从第二次开始传输时间大幅减少,因为rsync存在检测功能,重复文件将不会进行传输

2.rsync命令:

操作 效果
rsync 文件 远程用户@远程用户ip:远程主机目录绝对路径 将本机的文件传输至远程主机绝对路径所示的目录
rsync 远程用户@远程用户ip:远程主机目录 文件路径 将远程主机上的文件下载至本机路径所示的目录

效果与scp命令相同,不做实验演示
rsync参数:

命令 效果
rsync -r 复制目录
rsync -l 复制链接
rsync -p 复制权限
rsync -t 复制时间戳
rsync -o 复制拥有者
rsync -g 复制拥有组
rsync -D 复制设备文件

实验素材:在本机在远程主机中的/mnt下下载目录:
[1]-l复制链接:
远程主机操作:
在这里插入图片描述
本机操作:
在这里插入图片描述

[2]-p复制权限:
远程主机操作:
在这里插入图片描述

本机操作:
在这里插入图片描述

[3]-t复制时间以及-g复制拥有组:
远程主机操作:在这里插入图片描述
本机操作:
在这里插入图片描述

[4]-o复制拥有者:
远程主机操作:
在这里插入图片描述

本机操作:
在这里插入图片描述

[5]-D同步设备文件:
远程主机操作:
在这里插入图片描述

本机操作:
在这里插入图片描述

三.文件的归档压缩:

1.文件的归档:

文件的归档需要用到命令tar,针对tar命令有几种常用的参数:

参数 效果
f 指定文件名称
c 创建
x 解档
v 实现过程
t 查看
r 向归档后的文件中添加文件
-C 解档至指定路径
–get 解档指定文件
–delete 删除指定文件

[1]用cf创建归档文件:
在这里插入图片描述

用cvf在创建时显示过程:
在这里插入图片描述

[2]用xf解档:
在这里插入图片描述

用xf -C 指定目录可以将文件解档至指定目录:
在这里插入图片描述

[3]用tf查看:
在这里插入图片描述

注意查看时归档后的文件都是用的相对路径,是为了避免在解档时出现绝对路径的文件,覆盖原本目录中的文件,如果要修改路径设置,需要添加参数P:
在这里插入图片描述

[4]对于归档文件以及新文件的操作:新建文件westos.file,用rf向归档后的文件添加并用tf查看是否添加成功:
在这里插入图片描述

用-get使westos.file从归档后的文件中解压出来:
在这里插入图片描述

用-delete将westos.file在归档后的文件中删除并用tf查看:
在这里插入图片描述

2.文件的压缩:

在Linux系统中压缩文件常有以下格式:zip,gzip,bzip2,xz,四种压缩文件的压缩效果依次增强,即同样大小的文件在压缩之后生成的压缩文件大小依次减小,对应压缩所需要的时间依次增加,查看文件内存大小可以使用以下命令:

du -sh file/dir

在这里插入图片描述

在Linux系统中没有rar文件,因为要收取版权,所以针对四种压缩文件分别有其对应的命令压缩文件/解压文件:

命令 效果
zip -r 压缩后的文件.zip 目标文件 将目标文件压缩成zip文件
unzip 压缩文件.zip 将zip格式的文件解压缩
gzip 目标文件 将目标文件压缩成gzip格式
gunzip 压缩文件.gzip 将gzip文件解压
bzip2 目标文件 将目标文件压缩成bzip2文件
bunzip2 压缩文件.bzip2 将bzip2文件解压
xz 目标文件 将目标文件压缩成xz文件
unxz 压缩文件.xz 将xz文件解压

[1]对于zip格式的文件压缩以及解压:
在这里插入图片描述
由实验现象可知zip压缩后不会删除被压缩的目标文件
在这里插入图片描述
由实验现象可知,zip解压后也不会删除原来的zip文件,但是在其他三种文件的解压与压缩过程中都会删除
[2]对于gzip格式的文件压缩以及解压:
在这里插入图片描述
在这里插入图片描述

[3]对于bzip2格式的文件压缩以及解压:
在这里插入图片描述
在这里插入图片描述

[4]对于xz格式的文件压缩以及解压:
在这里插入图片描述
在这里插入图片描述

3.tar+压缩:

文件的归档以及压缩可以在一步完成,以及文档的解压和解档也可以:针对gzip,bzip2,xz三种形式的压缩文件分别有不同的指令:

命令 效果
tar zcf 压缩后的文件.gz 目标文件夹 将目标文件夹中的文件归档并压缩成gzip文件
tar zxf 压缩文件.gz 将gzip文件解压后解档
tar jcf 压缩后的文件.bz2 目标文件夹 将目标文件夹中的文件归档并压缩成bzip2文件
tar jxf 压缩文件.bz2 将bz2文件解压后解档
tar Jcf 压缩后的文件.xz 目标文件夹 将目标文件夹中的文件归档并压缩成xz文件
tar Jxf 压缩文件.xz 将xz文件解压后解档

[1]对于gzip格式的文件归档压缩以及解压解档:
在这里插入图片描述
在这里插入图片描述

[2]对于bzip2格式的文件归档压缩以及解压解档:
在这里插入图片描述
在这里插入图片描述

[3]对于xz格式的文件归档压缩以及解压解档:
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46702804/article/details/112854723