Linux基础学习(十)之远程文件传输与归档压缩

1、远程传输文件之scp

当我们想要从一台主机a到另一台主机b发送文件时,就需要命令scp,远程传输文件。主要有以下两种方式:
(1)scp 本地文件 远程主机用户@远程主机ip:远程主机目录的绝对路径称为上传,因为是主机a把本地的文件传给远程用户b。
(2)scp 远程主机用户@远程主机ip:远程主机文件的绝对路径 本地文件称为下载,因为是远程用户b把a的文件下载到本地。

为了更好的理解上面的叙述,我们进行实验测试什么叫上传,如图,首先建立两个虚拟机a和虚拟机b,分别配置ip为172.25.254.88和172.25.254.99,为了便于区分,把a的颜色进行了调整。可以使用ifconfig命令查看是否配置成功,现在我们想把a的文件传输到b主机里。建立实验素材file1到file3,scp file{1..3} root@172.25.254.99:/root/Desktop/表示 主机a把文件file1到file3远程传输到172.25.254.99这个ip的root这个用户的桌面上,通过认证和输入密码,显示成功传输。接下来建立实验素材目录dir,按照上面的命令传输目录会报错,提示不是一个文件,正确传输目录应该加上-r参数,表示递归。
在这里插入图片描述类似的下载也很简单,测试如图,scp root@172.25.254.89:/root/Desktop/file* .表示远程主机b把ip为172.25.254.99的root用户下的桌面的所有文件file下载到当前位置,.表示当前位置。如果加上-q表示不显示传输的进度,仍然可以传输成功。
在这里插入图片描述
每次传输文件输入密码很麻烦?那我们做个免密认证把。上次我们学习了RSA的非对称,主机a使用ssh-keygen产生RSA密钥对,ssh-copy-id -i id_rsa.pub root@172.25.254.99加密主机b,并且a自己有RSA的私钥,如图,此时传输文件不需要输入密码了。
在这里插入图片描述
scp的传输模式是什么呢?如图,测试一下就知道了,首先建立一个500M大文件的实验素材,传输此文件时加上time,可以显示时间,第一次花费1.29秒,第二次再次传输是1.31秒,基本一致。scp是传输文件时是完全传输的,即不会检测接受方里是否有这个文件,也不压缩数据,这样的好处是传输精准,但是效率变低。
在这里插入图片描述
那么有没有高效的传输方式呢?有,就是rsync

2、远程传输文件之rsync

为了体现它的高效和传输方式,建立实验,测试效果,编辑一个简单的脚本,里面写三次rsync文件传输,其中参数q表示不显示传输的进度,参数a表示压缩,参数C表示重复检测。运行脚本,可以看到第一次正常,后面两次时间都特别小,因为该文件已经存在,rsync会进行重复检测。
在这里插入图片描述
接下来介绍rsync的常用参数:
(1)-r 复制目录
(2)-l 复制链接
(3)-p 复制权限
(4)-t 复制时间戳
(5)-o 复制拥有者
(6)-g 复制拥有组
(7)-D 复制设备文件
实验如图,建立素材三个文件,一个目录,把他们的权限提高为777,拥有者和拥有组都改为westos,并使用ln -s建立链接。主机a使用rsync远程传输,主机b建立监控查看,可以看出文件是过去了,但是链接没过去,时间戳,权限,拥有者和拥有组都变了。
在这里插入图片描述那么传输时加上一系列的参数就可以把上面那几个要求都同步了,如图。
在这里插入图片描述但是啊,当我们传输数量很大的文件,还是有些慢,如图,传输/etc下的全部文件使用了0.108秒,如果使用tar打包了文件再发送就只需要0.084秒了,(这里由于etc下的文件本来不是特别大,所以下降的效果不太明显),所以接下来学习如何打包归档。
在这里插入图片描述

3、文件的归档

归档,也叫打包,可以把许多文件整理在一起,方便高效发送,如图是打包后的文件,像一个盒子。
在这里插入图片描述
归档时有许多的参数:
(1)c 创建
(2)f 指定文件名称
(3)x 解档
(4)v 现实过程
(5)t 查看
(6)r 向归档文件中添加文件
(7)--get 解档指定文件
(8)--delete 删除指定文件
(9)-C 指定解档路径
(10)-P 不删除路径中的/,保证原路径不变,还是绝对路径(正常情况下不加,是相对路径,这是为了防止解档出来覆盖原文件)
实测以上参数,如图。第一行把/etc下的文件归档,第二行向归档文件中添加newfile文件,第三行接档,第四行解档其中的newfile指定文件,第五行删除newfile指定文件,第六行指定解档的路径为/mnt。
在这里插入图片描述

4、文件的压缩

压缩一般有四种类型
(1)zip
zip -r etc.tar.zip etc.tar 把etc.tar压缩为zip格式
unzip etc.tar.zip zip格式解压缩
(2)gzip
gzip etc.tar 把etc.tar压缩为gzip格式
gunzip etc.tar.gz gzip格式解压缩
(3)bzip2
bzip2 etc.tar 把etc.tar压缩为bzip2格式
bunzip2 etc.tar.bz2 bzip2格式解压缩
(4)xz
xz etc.tar 把etc.tar压缩为xz格式
unxz etc.tar.xz xz格式解压缩

实验如图,可以使用du -sh命令查看文件的大小,原来的打包包28M,zip格式7.8M,gzip格式6.8M,bzip2格式5.2M,xz格式4.6M。压缩的越来越厉害
在这里插入图片描述

5、文件的归档与压缩一步进行

上面介绍先归档再压缩的方法,同学们是不是感觉很多余,我们可以一步就实现吗?值得注意的是zip格式不行,其他三个可以一步实现。
(1)gzip
tar zcf etc.tar.gz /etc一步归档压缩为gzip格式
tar zxf etc.tar.gz解压缩
(2)bzip2
tar jcf etc.tar.bz2 /etc一步归档压缩为bzip2格式
tar jxf etc.tar.bz2解压缩
(3)xz
tar Jcf etc.tar.xz /etc一步归档压缩为xz格式
tar Jxf etc.tar.xz解压缩

实验如图
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值