日常操作中我们经常使用到文件压缩操作,其使用一些特定的算法来减小文件的大小,可以提高传输数据时的速率和减少数据在一些存储机制上占有的空间大小,实现空间利用最大化。
比如:如果你想通过邮箱发送一个文件夹,你会发现可能行不通,怎么办呢,难道将文件夹内的内容一个个发送吗?显然不用,因为邮箱不支持文件夹这种格式,所以我们需要将文件夹压缩,或将众多文件归档后压缩后,才能进行发送,这样不仅对应了邮箱支持的格式,而且还将提升传输效率。
任何一个文件在电脑上储存都有它的格式,现今各操作系统中最常用的压缩格式zip, rar;从功能上看rar格式比zip格式的压缩率更高,但压缩解压缩的时间也高于zip格式。当然除这两种格式外,还有很多的压缩格式。以下简述在命令行上压缩归档命令的一些技巧:
- zip格式,由程序员菲尔卡次1989年发表,zip原义有拉链,速度的含义。zip在Linux,Mac os, Windows平台上都可以看到他的身影,虽然它在Linux下不太广泛,但在与其他平台交流数据时就很有用了。
1:在linux系统下用zip命令创建归档压缩文件:zip -r file.zip dir //-r 表示对目录进行递归式归档
-q表示安静模式,不显示任何执行过程中的信息。
-d选项可以删除归档文件中一个或多个文件。 zip -d file.zip file1 file2 ...
2:unzip 可以提取出zip中的内容(相当于解压缩): unzip file.zip ;-l选项则可以列出压缩归档文件中的内容。
- rar格式,开发者为尤金·罗谢尔,全名是“Roshal ARchive”,即“罗谢尔的归档”之意;多用于数据压缩与归档打包。
- Linux下常用的的gz (gzip), bz2(bzip2), lzma格式:
1: gzip的使用方法(命令行, ->表示左边操作得到右边):
压缩:gzip filename->fliename.gz
解压缩:gunzip filename.gz->filename
列出压缩文件的属性信息:gzip -l filename.gz->各文件的具体信息
2: 因为gzip压缩只针对单个文件或数据流,所以时常与tar结合使用:
方式为先创建tar归档文件: tar -cvf filename.tar file1 file2 ... -> filename.tar
再使用gzip压缩: gzip filename.tar->filename.tar.gz
因为tar支持选项-z以gzip格式压缩,所以也可以:tar -cvzf filename.tar.gz file1 file2 .... ->filename.tar.gz
3:bzip2,lzma在功能与语法上与gzip相似,bzip2的压缩效率高于gzip,lzma最高
解压缩bzip2格式文件: bunzip filename.bz2 -> filename
解压缩lzma格式文件: unlzma filename.lzma -> filename
也可以使用-j, --lzma选项使用tar分别进行bzip2, lzma格式的压缩。
了解一些常见的压缩文件格式利于我们区分各式各样的文件噢。