文件归档器用于将多个文件集合为一个或一组归档文件,同时或压缩以减小文件大小,以便于传输或存储。支持压缩功能的也被称之为压缩工具。
最基本的归档器只需获取文件列表,然后将其内容顺序写到归档中,同时在归档中存储必要的元数据,如原始文件的名称和长度等。更高级的归档器会存储其他的元数据,例如原始时间戳,文件属性或访问控制列表等。
制作归档文件的过程称为归档,压缩或打包。从归档中重建原始文件称为解压缩或提取。
历史
早期的归档器有CTSS和Multics上的命令archive
,仅归档而没有压缩功能。Multics也有一个tape_archiver
命令,缩写为 ta,可能是unix命令tar的前身。[1]
Unix归档器
Unix工具 ar,tar,cpio仅归档而没有压缩。用户其他工具如gzip, bzip2, 或 xz用于压缩归档文件或提取前解压缩。文件后缀名依次添加,如使用tar归档后用gzip压缩,则归档文件后缀为 .tar.gz
。
此方法优点在于:
- 遵循Unix哲学,即每个程序都应该尽量完美地完成一项任务,而不是试图用一个工具来完成所有事情。随着压缩技术的发展,用户可以使用不同的压缩程序,而无需修改或放弃其归档器。
- 支持固实压缩。合并文件与单独压缩相比,压缩工具可以利用多个归档文件的冗余并实现更好的压缩。
但也有缺点:
- 提取或修改文件很困难。提取一个文件需要解压缩整个归档。修改意味着需要将文件放回归档,然后再次压缩归档,这需要额外的时间和磁盘空间。
- 归档文件容易损坏。如果保存多个文件共享数据的区域被损坏,所有那些文件都将丢失。
- 除非压缩窗口大于单个文件的大小,否则无法利用文件之间的冗余。
Windows归档器
Windows内置的归档器和常用的如WinRAR、 7-zip通常使用图形界面,支持归档和压缩。有的支持命令行界面和固实压缩。
参见
参考
外部链接