这么多年来,数据压缩对我们来说是非常有用的。无论是在邮件中发送的图片用的zip文件还是在服务器压缩数据文件,我们都可以让下载更容易或者有效的节约磁盘空间。某些压缩格式有时允许我们以60%的比率(甚至更高)压缩文件。对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕。别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar。可是Linux就不同 了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等众多的压缩文件名,此外windows下的.zip和.rar也可以在Linux下使用。
Compress
compress是一个相当古老的unix档案压缩指令,压缩后的档案会加上一个.Z延伸档名以区别未压缩的档案,压缩后的档案可以以uncompress解压。若要将数个档案压成一个压缩档,必须先将档案 tar 起来再压缩。由于 gzip 可以产生更理想的压缩比例,一般人多已改用 gzip 为档案压缩工具。
compress压缩和解压缩命令
解压:uncompress FileName.Z
压缩:compress FileName
Zip
zip可能是目前使用得最多的文档压缩格式。它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用。缺点就是支持的压缩率不是很高,而tar.gz和tar.gz2在压缩率方面做得非常好。
在Linux上有两种这样的工具:免费的Info-ZIP和以赢利为目的的PKZIP for Linux。如果您只是偶尔需要创建或打开zip文件,使用Info-ZIP。如果希望使用在MS-DOS或其它系统上使用的相同工具,请选择PKZIP(PKZIP 可用于许多操作系统)。
zip压缩和解压缩命令
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
Rar
rar的全名是:Roshal ARchive,是一种专利文件格式,用于数据压缩与归档打包。rar通常情况比zip压缩比高,但压缩/解压缩速度较慢。因为RAR文件头也要占据一定空间,在数据压缩余地不大时,压缩过的文件可能比原文件要大。RAR的一个主要优点是可以把文件压缩目标分割到多个文件,并且很容易从这样的分割的压缩文件解压出源文件。要在linux下处理.rar文件,需要安装RAR for Linux,可以从网上下载,RAR for Linux不是免费的。
rar压缩和解压缩命令
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
Gzip
gzip的基础是DEFLATE,DEFLATE是LZ77与哈夫曼编码的一个组合体。这种格式是使用得最多的压缩格式。它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。通常gzip仅用来压缩单个文件。多个文件的压缩归档通常是首先将这些文件合并成一个tar文件,然后再使用gzip进行压缩,最后生成的.tar.gz或者.tgz文件就是所谓的“tar压缩包”或者“tarball”。ZIP也使用DEFLATE算法,而且可移植性更好,不需要一个外部的归档工具就可以包容多个文件。但是,由于ZIP对每个文件进行单独压缩而没有利用文件间的冗余信息(即固实压缩),所以ZIP的压缩率会稍逊于tar压缩包。
gzip压缩和解压缩命令
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
Bzip2
bzip2是采用Burrows-Wheeler块排序文本压缩算法和霍夫曼编码的压缩格式。bzip2比传统的gzip或者ZIP的压缩效率更高,但是它的压缩速度较慢。从这点来说,它非常类似于最近出现的其它一些压缩算法。与RAR或者ZIP等其它不同的是,bzip2只是一个数据压缩工具,而不是归档工具,在这一点上它与gzip类似。程序本身不包含用于多个文件、加密或者文档切分的工具,相反按照UNIX的传统需要使用如tar或者GnuPG这样的外部工具。
bzip2压缩和解压缩命令
解压1:bunzip2 FileName.bz2
解压2:bzip2 -d FileName.bz2
压缩: bzip2 -z FileName
Tar
tar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,他仅仅只是一个打包工具,并不负责压缩。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文 件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。
tar打包和解包命令
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
tar.gz、.tar.bz2、.tar.Z
tar提供了一种特殊的功能。这就是tar可以在打包或解包的同时调用其它的压缩程序,比如调用compress、gzip、bzip2等。
- tar中使用-z这个参数来调用gzip。
- tar中使用-j这个参数来调用bzip2。
- tar中使用-Z这个参数来调用compress。
tar.gz压缩和解压缩命令
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
tar.bz2压缩和解压缩命令
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
tar.Z压缩和解压缩命令
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
参考文章
- https://zh.wikipedia.org/zh/Gzip
- https://zh.wikipedia.org/wiki/Bzip2
- http://baike.baidu.com/view/1229156.htm
- http://baike.baidu.com/view/138671.htm
- http://blog.chinaunix.net/uid-24250828-id-2621420.html
- http://www.ibm.com/developerworks/cn/linux/l-tip-prompt/tip07/
- http://www.cnblogs.com/craftor/p/3811600.html
- http://blog.csdn.net/hbcui1984/article/details/1583796