Linux基础_文件的归档及压缩

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sr_1114/article/details/83068236

    将文件进行归档就是将文件进行打包,打包之后,多个文件就变成了一个文件,但不是将所有文件进行融合,而是将多个文件装进一个文件包内,这个包就像我们平时使用的袋子,可以将很多零散的东西装起来,文件打包之后,在传输过程中就方便了很多。文件归档并不能将文件的大小改变。在一些情况下,如果文件太大就无法进行传输,这时就可以将文件进行压缩,在压缩之后,文件会变小,传输也会减少流量的损耗。本篇文章讲解了如何在Linux环境下使用命令将文件进行打包压缩,希望可以帮到正在阅读的你。

1.文件的归档

通过tar命令可以将文件归档,常用的参数如下:

-c    #归档,创建一个包
-f    #指定包名
-x    #解档
-t    #查看包里面的内容
-r    #往包里面添加文件或者目录
-v    #显示归档或者解档过程
-C    #指定解档的路径
--get    #从包里面获取相应的文件或目录
--delete    #删除包里面的某个文件或者目录

以下对这些参数进行详细解释:

-c表示将文件进行归档,-f表示指定归档后的文件名,如下图将/mnt/和/etc/两个目录归档为当前目录下etc.tar这个文件:

此时桌面上会出现一个etc.tar文件,如果要查看这个包中有什么,在桌面上点击etc.tar这个包,也可以使用-t参数查看这个包里面有什么,如下图:

如果需要往etc.tar这个包里面添加文件,可以使用-r参数,如下图,向etc.tar这个包里面添加了file文件:

--get可以从包里面获取到文件,下图为从etc.tar包里面获取file文件,etc.tar包里面的file文件还存在:

--delete可以删除包里面的文件或者目录,如下图,删除etc.tar包中的file文件:

-x表示解档,下图将etc.tar中的文件和目录解档:

解档时可以用-C命令指定路径,下图将etc.tar包解档到/mnt/中:

要注意的是,在归档时是不包括软连接的。

2.文件的压缩

在linux中常用的压缩格式有四种:zip gzip bzip2 xz,下来就讲述如何将归档后的文件压缩为这四种格式:

1)zip格式

由上图可以看出,将etc.tar文件压缩为etc.tar.zip压缩包,etc.tar包为30M,压缩过后就为8.4M了。

2)gzip格式

gunzip etc.tar.gz为解压缩过程。

3)bzip2格式:

bzip2压缩的etc.tar包为15M,上面的两种格式都为8.4M,可以看出bzip的压缩能力比zip和gzip都要低。

4)xz格式

xz的格式在压缩后为5.7M,压缩能力相对比较好。

3.归档和压缩

上面的压缩方式是将文件归档后再压缩比较麻烦,其实只要在归档时添加一定的参数,就可以归档的同时进行压缩。

  打包压缩的时候起的名字和压缩的格式是无关的,如下图,压缩的时候是以gz格式压缩,压缩包的名字为etc.tar.xz,用file命令查看文件类型还是gz格式。为了不混淆,给压缩包起名还是应该和压缩格式保持一致:

[root@node2 mnt]# tar zcf etc.tar.gz /etc   #将/etc目录打包压缩为etc.tar.gz压缩包
[root@node2 mnt]# tar jcf etc.tar.bz2 /etc #将/etc目录打包压缩为etc.tar.bz2压缩包
[root@node2 mnt]# tar Jcf etc.tar.xz /etc  #将/etc目录打包压缩为etc.tar.zx压缩包

解压时将c参数换为x参数,必须使用相同格式的参数解压,否则会报错,下图为打包压缩和解压缩包的过程:

Linux下常用的文件的打包压缩讲解完成,希望对你有所帮助。

猜你喜欢

转载自blog.csdn.net/sr_1114/article/details/83068236