压缩和解压
2017-12-11 本文已影响15人
罗蓁蓁
压缩和解压
如果你想要在Linux下遨游,压缩和解压缩是必然会遇到,并且会经常遇到的,所以必须学会。
纵观计算领域的发展历史,人们努力想把最多的数据存放到到最小的可用空间中,不管是内存,存储设备还是网络带宽。
今天我们把许多数据服务都看作是理所当然的事情,但是诸如便携式音乐播放器,高清电视,或宽带网络之类的存在都应归功于高效的数据压缩技术。
压缩算法(数学技巧被用来执行压缩任务)分为两大类,无损压缩和有损压缩。
无损压缩保留了原始文件的所有数据。这意味着,当还原一个压缩文件的时候,还原的文件与原文件一模一样。
而另一方面,有损压缩,执行压缩操作时会删除数据,允许更大的压缩。
当一个有损文件被还原的时候,它与原文件不相匹配; 相反,它是一个近似值。有损压缩的例子有JPEG(图像)文件和MP3(音频)文件。
当然,我现在只想了解无损压缩。因为计算机中的大多数数据是不能容忍丢失任何数据的。
gzip
- gzip 程序被用来压缩一个或多个文件。当执行gzip 命令时,则原始文件的压缩版会替代原始文件。
- 相对应的gunzip 程序被用来把压缩文件复原为没有被压缩的版本。
- 使用gzip -rv ~/test,是分别压缩test目录下的每个文件,而不是压缩test目录。
- 压缩文件后缀是.gz。
注意:只能压缩文件,可一次性压缩很多文件。
bzip2
- bzip2 程序与gzip 程序相似,但是使用了不同的压缩算法,舍弃了压缩速度,而实现了更高的压缩级别。
- 在大多数情况下,它的工作模式等同于gzip。
- 压缩文件后缀是.bz2。
注意:只能压缩文件,并且只能压缩单个文件,因为和gzip相比,缺少了-r参数。
tar
- 与文件压缩结合一块使用的文件管理任务是归档。
- 归档就是收集许多文件,并把它们捆绑成一个大文件的过程。
- tar 程序是用来归档文件的经典工具。它的名字,是tape archive 的简称,揭示了它的根源,它是一款制作磁带备份的工具。
- 而它仍然被用来完成传统任务,它也同样适用于其它的存储设备。
- 我们经常看到扩展名为.tar 或者.tar.gz 的文件,它们各自表示“普通”的tar 包和被gzip 程序压缩过的tar 包。
注意:归档只是把许多文件捆绑成一个大文件,它并不压缩文件,只是为了给压缩文件做准备。