Linux系统常见的压缩指令

2年前 (2016-11-01) liufeng linux, 未分类 0评论 已收录 595℃

*.zip zip 程序压缩的文件;

*.gz gzip 程序压缩的文件;

*.bz2 bzip2 程序压缩的文件;

*.xz xz 程序压缩的文件;

*.tar tar 程序打包的数据,并没有压缩过;

*.tar.gz tar 程序打包的文件,其中并且经过 gzip 的压缩

*.tar.bz2 tar 程序打包的文件,其中并且经过 bzip2 的压缩

*.tar.xz tar 程序打包的文件,其中并且经过 xz 的压缩

(1)zip压缩文件

1、.gz的程序是如何进行压缩和解压的呢?
gzip [-cdtv#] 文件名
选项与参数:
-c :将压缩的数据输出到屏幕上,可通过数据流重导向来处理;
-d :解压缩的参数;
-t :可以用来检验一个压缩文件的一致性~看看文件有无错误;
-v :可以显示出原文件/压缩文件的压缩比等信息;
-# :# 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6
示例:
[root@ceph-admin tmp]# gzip -v services
services:  79.7% -- replaced with services.gz
services:原文件名称
services.gz 压缩之后的文件名称
79.7%:这个是压缩率。就是压缩之后文件的大小是原来文件的(1-79.7%)倍。
[root@ceph-admin tmp]# ll /etc/services services.gz
-rw-r--r--. 1 root root 670293 6月   7 2013 /etc/services
-rw-r--r--. 1 root root 136088 11月  1 21:07 services.gz
Linux系统常见的压缩指令

看这两个文件的大小就明白了。
注意:gzip压缩之后原文件就自动删除了,只剩下压缩完成之后的.gz文件。
解压:gzip  -d  service.gz
2、bzip2文件是如何压缩和解压呢。
bzip2 [-cdkzv#] 文件名
选项与参数:
-c :将压缩的过程产生的数据输出到屏幕上!
-d :解压缩的参数
-k :保留原始文件,而不会删除原始的文件喔!
-z :压缩的参数 ( 默认值,可以不加)
-v :可以显示出原文件/压缩文件的压缩比等信息;
-# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!
示例:

[root@ceph-admin tmp]# bzip2 -v services
services:  5.409:1,  1.479 bits/byte, 81.51% saved, 670293 in, 123932 out.Linux系统常见的压缩指令

由此可知bzip2的压缩率为81.51%比gzip79.7%要高。
压缩:bzip2  -v services
解压:bzip2  -d services.bz2
3、xz文件是如何压缩和解压的呢?
xz [-dtlkc#] 文件名
选项与参数:
-d :就是解压缩啊!
-t :测试压缩文件的完整性,看有没有错误
-l :列出压缩文件的相关信息
-k :保留原本的文件不删除~
-c :同样的,就是将数据由屏幕上输出的意思!
-# :同样的,也有较佳的压缩比的意思!
[root@ceph-admin tmp]# xz -v services
services (1/1)
100 %        97.3 KiB / 654.6 KiB = 0.149
可以看出来xz文件的压缩比为0.149
[root@ceph-admin tmp]# ll /etc/services services.gz services.bz2 services.xz
-rw-r--r--. 1 root root 670293 6月   7 2013 /etc/services
-rw-r--r--. 1 root root 123932 11月  1 21:07 services.bz2
-rw-r--r--. 1 root root 136088 11月  1 21:07 services.gz
-rw-r--r--. 1 root root  99608 11月  1 21:07 services.xz
Linux系统常见的压缩指令

从上可以清晰的看出三种文件的压缩比率情况,xz压缩率最高,其次bz2,最后gz。
**既然xz压缩率最高,为什么还要用gz和bz2呢?
这是因为,压缩率越高,就会使得压缩的时间越长。
打包指令:tar
既然有了上述所说的gzip,bzip2,xz.为什么还要用tar,它有哪些特殊的地方吗?
因为上述三个指令只能将每个文件压缩成一个每一个单独的文件,而不能将很多个文件一起压缩成一个大的文件包。意思就是说:原来是10个文件你一起压缩用之前的三个命令只能将它压缩成文件大小比原来小的10个单独的文件,而不能把他们打包压缩成一个大的文件包。
下面来介绍tar的具体用法:
tar  [-z;-j;-J] [cv] [-f 待创建的新文件名]   filename    ==打包
tar [-z;-j;-J] [tv] [-f 既有的 tar文件名]          ==查看
tar [-z;-j;-J] [xv] [-f 既有的 tar文件名] [-C 目录]  ==解压
选项与参数:
-c :创建打包文件,可搭配 -v 来察看过程中被打包的文件名( filename)
-t :察看打包文件的内容含有哪些文件名,重点在察看“文件名”就是了;
-x :解打包或解压缩的功能,可以搭配 -C ( 大写) 在特定目录解开
特别留意的是, -c, -t, -x 不可同时出现在一串命令行中。
-z :通过 gzip 的支持进行压缩/解压缩:此时文件名最好为 *.tar.gz
-j :通过 bzip2 的支持进行压缩/解压缩:此时文件名最好为 *.tar.bz2
-J :通过 xz 的支持进行压缩/解压缩:此时文件名最好为 *.tar.xz
特别留意, -z, -j, -J 不可以同时出现在一串命令行中
-v :在压缩/解压缩的过程中,将正在处理的文件名显示出来!
-f filename:-f 后面要立刻接要被处理的文件名!
-C 目录 :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
压缩 解压
.gz gzip  -v filename gzip -d filename
.bz2 bzip -v filename bzip -d filename
.xz xz -v filename xz -d filename
.tar.gz tar -zcvf  filename.tar.gz   filename tar -zxvf filename.tar.gz
.tar.bz2 tar -jcvf filename.tar.bz2 filename tar -jxvf filename.tar.bz2
.tar.xz tar -Jcvf filename.tar.xz filename tar -Jxvf filename.tar.xz

 

 

博主

这货来去如风,什么鬼都没留下!!!

相关推荐

嗨、骚年、快来消灭0回复。