文件传输优化

一.SCP

scp可以向远程主机中上传文件也可以从远程主机中下载文件。
上传文件:scp 本地文件 远程主机用户@远程主机ip:远程主机目录
下载文件:scp 远程主机用户@远程主机ip:远程主机目录 本地文件
准备两台虚拟机:虚拟机1:rhel7,ip为192.168.0.10,虚拟机2:rhel8,ip为:192.168.0.11,确保两台虚拟机之间可以互相连接,我用rhel7去连接rhel8.
文件传输优化_第1张图片
在rhel7桌面上建立文件file,建立目录dir
文件传输优化_第2张图片在rhel8中监控/mnt目录,在rhel7中将文件file上传到rhel8中的/mnt目录下
在这里插入图片描述在这里插入图片描述上传目录时要加上参数-r
在这里插入图片描述在上传文件时,在shell中会显示上传进度条,上传时加上参数-q将不会显示
文件传输优化_第3张图片将rhel7桌面上的文件file删掉并从rhel8中将它们重新下载到rhel7的桌面上
文件传输优化_第4张图片将rhel7桌面上的目录dir删掉并从rhel8中将它们重新下载到rhel7的桌面上
文件传输优化_第5张图片

二.rsync

rsync和scp的用法相类似,rsync也能够向远程主机中发送文件或者从远程主机中下载文件到本地主机中
上传文件:rsync 本地文件 远程主机用户@远程主机ip:远程主机目录
下载文件:rsync 远程主机用户@远程主机ip:远程主机目录 本地文件
在rhel7中/mnt下建立文件file1-file5,在rhel8中监控/mnt目录变化
在这里插入图片描述改变文件拥有者,文件权限以及建立链接文件
文件传输优化_第6张图片文件传输优化_第7张图片
文件传输优化_第8张图片将rhel7中/mnt下的文件上传到rhel8中,此处要注意下面两个语句的区别

rsync -r /mnt root@192.168.0.11:/mnt
rsync -r /mnt/ root@192.168.0.11:/mnt

第一个命令会将/mnt这个目录本身也上传给远程主机,第二个命令只是将/mnt目录下的文件上传给远程主机
文件传输优化_第9张图片文件传输优化_第10张图片并且从实验结果来看,提示我们链接文件被跳过了
将链接文件也上传加参数-l
在这里插入图片描述上传到远程主机中的文件和本地主机中文件的权限,所有人以及时间戳是不同的,如下图所示
文件传输优化_第11张图片同步文件权限加参数-p
文件传输优化_第12张图片同步所有人所有组加参数-og
文件传输优化_第13张图片在远程主机中文件拥有者为1001是因为在本地主机中student用户的id为1001
在这里插入图片描述同步时间戳加参数-t
文件传输优化_第14张图片同步设备文件加参数-D
不加参数时会显示将所有的设备文件都跳过
在这里插入图片描述加上参数D上传成功
在这里插入图片描述rsync常用的参数总结如下:

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

三.scp和rsync的区别

在/mnt下建立所需文件
文件传输优化_第15张图片dd 截取命令
if=inputfile
of=outputfile
bs=blocksize
count=块的个数
上图中的命令是指在本地主机中/mnt下建立三个文件,其中file1是从文件/dev/zero中截取十个大小为1M的数据,file2中截取二十个,file3中截取三十个
用time可以检测命令执行时间
文件传输优化_第16张图片
从上述实验中我们直到每次向远程主机中发送文件时,都需要我们输入远程主机的密码,这样会占据命令的执行时间,我们可以在两台主机之间建立openssh key,这样上传文件就不再需要密码
文件传输优化_第17张图片文件传输优化_第18张图片在这里插入图片描述创建脚本1(用scp上传文件)
在这里插入图片描述文件传输优化_第19张图片执行脚本文件显示用scp上传三次目录所需要的时间
文件传输优化_第20张图片创建脚本2
在这里插入图片描述文件传输优化_第21张图片文件传输优化_第22张图片由以上实验可知,当用scp上传文件时,三次上传时间基本相同,所以scp不具有相同文件检测的功能,而rsync上传文件时可以看到,第一次上传时消耗的时间为1.321s,后两次时间远远小于第一次的时间,说明,用rsync上传文件时会检测所上传的文件在远程主机中是否存在,如果存在则不会二次上传

四.文件的归档以及压缩

  • 文件归档解档

文件归档所用的命令为tar,常用的参数如下

c 创建
f 指定文件名称
x 解档
t 查看
r 向归档文件中添加文件
- -get 解档指定文件
- -delete 删除指定文件
-C 指定解档路径

在本地主机中将/etc归档,会出现一个箱子一样的文件
文件传输优化_第23张图片
注意,归档后产生的是一个文件
在这里插入图片描述
查看归档文件的内容
文件传输优化_第24张图片向归档文件中添加新的文件
文件传输优化_第25张图片解档文件
文件传输优化_第26张图片只解档文件file
文件传输优化_第27张图片将归档文件中的文件file删除
在这里插入图片描述将归档文件解档到指定的目录下
在这里插入图片描述

  • 文件压缩解压
    文件压缩有四种格式:zip,gz,bzip2,xz
    1、zip格式压缩解压
    压缩
    文件传输优化_第28张图片原归档文件的大小
    在这里插入图片描述
    zip格式压缩后文件大小为12M
    在这里插入图片描述
    将桌面上的归档文件删除后解压
    文件传输优化_第29张图片2、gz格式的压缩解压
    压缩,压缩完成后原来的归档文件会自动删除
    文件传输优化_第30张图片gz格式压缩后大小为12M
    在这里插入图片描述
    解压,解压完成后原来的gz压缩文件会删掉
    文件传输优化_第31张图片3、bzip2格式的压缩解压
    压缩,和gz格式类似
    文件传输优化_第32张图片bzip2格式压缩后大小为10M
    在这里插入图片描述
    解压
    文件传输优化_第33张图片4、xz格式的压缩解压
    压缩,和gz以及bzip2格式类似
    文件传输优化_第34张图片压缩后文件大小为8M
    文件传输优化_第35张图片
    解压
    文件传输优化_第36张图片
  • 归档压缩同时完成
    这种方式不能应用于zip格式压缩,其他三种方式适用
    1、gz格式
    归档压缩
    文件传输优化_第37张图片解压解档
    文件传输优化_第38张图片2、bzip2格式
    归档压缩
    文件传输优化_第39张图片解压解档
    在这里插入图片描述3、xz格式
    归档压缩
    文件传输优化_第40张图片解压解档
    文件传输优化_第41张图片

你可能感兴趣的:(文件传输优化)