归档和压缩的区别

15

在 Linux 中,存档和压缩有什么区别?

我们有不同的命令可以用于这两者,我们也可以将它们结合起来使用,但是它们到底是什么?

3个回答

19

归档是指将10个文件合并成一个文件,大小没有任何差别。如果你有10个100KB的文件,并对它们进行归档,那么最终得到的单个文件大小为1000KB。 另一方面,如果你压缩这10个文件,你可能会发现结果文件的大小范围从几千字节到接近原始文件的100KB,这取决于原始文件类型。 (来源)


2

压缩是一种处理输入数据的过程,通过使用一些复杂的算法(有效地转换比特),将其压缩,以便拥有相同大小但更小的实体。

如果您想在较小的空间中保留更多数据(空间始终是有限的资源),或者只是想在网络中快速传输文件,那么这非常有用。

在 Linux 发行版上,流行的压缩实用程序包括:

  • gzip(经常使用);

  • bzip2(使用较少,但产生的输出文件比 gzip 更小);

  • xz(到目前为止,Linux 中最节省空间的工具)

  • zip(通常用于解压来自其他系统(如 Windows 操作系统)使用 zip 压缩的数据)。

    请注意,通常情况下,压缩方法越有效率,所需时间就越长。

另一方面,归档可以被认为是将一些不同的文件放入一个盒子中。如果您有 5 个大小为 10kb 的文件,那么归档这些文件将会给您 5 x 10 = 50kb 的大小。

请注意,在 Linux 上,我们有一个非常好的程序 tar,当给定一个输入时,它可以同时完成以下两个步骤:

  1. 归档输入(第一步);
  2. 然后压缩该归档。

1
你的回答有些混淆。首先,zip既是压缩器又是归档工具,而gzip、bzip2和xz都只是压缩器。其次,tar只是一个归档工具,它有选项可以调用tar外部的实用程序来压缩输出。tar格式只是一种归档格式,最初是将其传输到外部压缩器中。这是一个非常常见的操作,后来将传输到外部压缩器的功能内置到了tar中。你的回答可以更好地组织,通过清晰区分归档和压缩,然后展示它们如何结合使用。 - Mark Adler
可以突出zip和tar [压缩格式]之间的方法差异,其中zip先压缩再存档,而tar.gz则是先存档再压缩。每种方法都有自己的优点,zip具有随机访问的优势,而tar.gz则具有更好的压缩性能。 - Mark Adler
@MarkAdler 不幸的是,此时此刻我手头上没有任何发行版.. 但我非常肯定和积极地表示,我在这里写的每一个内容都经过了非常彻底的检查和验证,并且已经记录在那些实用程序的man页面和info页面中。也许你的知识基于其他发行版的二进制文件?我不知道,但再次强调,CentOS 7.x 是通过 Linux 认证课程进行检查的,而我记得我已经仔细检查过所有这些内容。 - Giorgi Tsiklauri
但是这些程序中肯定有一些特殊性可能会被遗漏,不过无论如何已经写下的内容并没有错误。稍后我会检查一下是否可以添加任何补充说明。 - Giorgi Tsiklauri

0

存档:

  • 存档文件是一组文件和目录,存储在一个文件中。
  • 存档文件没有压缩 - 它使用的磁盘空间与所有单个文件和目录的大小相同。

压缩:

  • 压缩文件是一组文件和目录,以使用比所有单个文件和目录组合更少的磁盘空间的方式存储在一个文件中。
  • 如果磁盘空间有限,请压缩很少使用的文件,或将所有此类文件放在单个存档文件中并对其进行压缩。

源URL


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接