文件归档、压缩及传输

来源:互联网 发布:matlab画出网络拓扑图 编辑:程序博客网 时间:2024/05/17 00:19

1.文件归档

文件归档,就是把多个文件变成一个归档文件,可是为什么要做文件归档?首先来做个实验。以/etc文件夹为例:
把/etc文件远程传输给另一台主机。首先我们来查看下/etc文件大小,可以看到/etc文件并不大
这里写图片描述
可是当我们传输文件时,因为文件内容过于纷杂而大大降低了传输速度,降低了工作效率。
scp文件传输

正因为如此,我们就需要用文件归档。就好比去超市买东西,买的东西多了不好拿,就会用袋子把它们装起来,以便搬运一样。文件归档也是这个道理。
首先需要将要传输的文档归档,在此仍以/etc文件为例:
这里写图片描述
然后传输etc.tar(/etc文件归档之后的文件)测试传输效率。发现速度快了很多。但具体快了多少图里显示的不太明显,感兴趣的可以自己实际操作一番。一定会有惊喜的!
这里写图片描述

tar c ##创建
f ##指定归档文件名称
这里写图片描述
t ##显示归档文件中的内容
这里写图片描述
r ##向归档文件中添加文件
这里写图片描述
- -get ##取出单个文件
- -delete ##删除单个文件
这里写图片描述
x ##取出归档文件中的所有内容
这里写图片描述
-C ##指定解档目录
这里写图片描述
-z ##gz格式压缩
-j ##bz2格式压缩
-J ##xz格式压缩
这里写图片描述

2.压缩

压缩可以缩小文件占用的空间,对于传输或者存储都有一定的便利。
原文件为etc.tar,经过不同的压缩方式,被压缩的程度会有不同。
这里写图片描述
gz
gzip etc.tar ##压缩成gz格式
gunzip etc.tar.gz ##解压gz格式压缩包
tar zcf etc.tar.gz /etc ##把文件归档为tar并压缩成gz
tar zxf etc.tar.gz ##解压并解档gz格式压缩包
这里写图片描述
bz2
bzip2 etc.tar ##压缩成bz2格式
bunzip2 etc.tar.bz2 ##解压bz2格式压缩包
tar jcf etc.tar.bz2 /etc ##把文件归档为tar并压缩成bz2
tar jxf etc.tar.bz2 ##解压并解档bz2格式压缩包
这里写图片描述
xz
xz etc.tar ##压缩成xz格式
unxz etc.tar.xz ##解压xz格式压缩包
tar Jcf etc.tar.xz /etc ##把文件归档为tar并压缩成zx
tar Jxf etc.tar.xz ##解压并解档xz格式压缩包
这里写图片描述
zip

zip -r etc.tar.zip etc.tar ##压缩成zip格式
unzip etc.tar.zip ##解压zip格式压缩包

这里写图片描述

3.系统中的文件传输

scp file username@ip:/dir ##上传
scp username@ip:/dir/file /dir ##下载
这里写图片描述
rsync [参数] file username@ip:/dir
rsync -r ##同步目录
-l ##不忽略链接
-p ##不忽略文件权限
-t ##不忽文件时间戳
-g ##不忽文件所有组
-o ##不忽文件所有人
-D ##不忽略设备文件
这里写图片描述

这里写图片描述

rsync和scp的区别是:rsync是分块校验+传输,scp是整个文件传输。
rsync比scp有优势的地方在于单个大文件的一小部分存在改动时,只需传输改动部分,无需重新传输整个文件。如果传输一个新的文件,理论上 rsync没有优势。
另外,scp是加密传输,在不同的主机之间复制文件,使用sshd安全协议传输数据,具有和sshd一样的验证机制,从而安全的远程拷贝文件。而rsync则是不加密传输。
使用时可以根据实际情况按需选择。

原创粉丝点击