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