我通常认为这tar
是一个压缩实用程序,但我不确定它是否真的压缩文件,或者它只是像 ISO 文件一样,是一个保存文件的文件?
答案1
Tar 是一种归档工具(Tape ARchive),它仅将文件及其元数据收集在一起并生成一个文件。如果您想稍后压缩该文件,可以使用 gzip/bzip2/xz。为了方便起见,tar 提供了自动为您压缩存档的参数。结帐tar 手册页更多细节。
答案2
tar
制作档案;压缩是一个单独的功能。然而 tar
当用于大量小于文件系统簇大小的小文件时,单独使用可以减少空间使用量。如果文件系统使用 1kb 簇,则即使包含单个字节的文件也会消耗 1kb(加上 inode)。存档tar
没有这种开销。
顺便说一句,ISO 文件并不是真正的“保存文件的文件”——它实际上是整个文件系统的映像(最初设计用于 CD 上),因此其结构要复杂得多。
答案3
原始 UNIX tar 命令不压缩档案。正如评论中提到的,Solaris tar 不压缩。 HP-UX、AIX、FWIW 也没有。按照惯例,未压缩的档案以.tar
.
使用 GNU/Linux,您可以获得 GNU tar。 (您可以在其他 UNIX 系统上安装 GNU tar。)默认情况下,它不压缩;然而,它做如果您提供 .gzip 文件,则使用 gzip(也由 GNU)压缩生成的存档-z
。 gzip 压缩文件的常规后缀是.gz
,因此您经常会看到以.tar.gz
.该结尾意味着运行了 tar,然后运行了 gzip,例如tar cf - .|gzip -9v > archive.tar.gz
。您还可以找到以 结尾的档案.tgz
,例如tar czf archive.tgz .
。
编辑: www.linfo.org/tar.html让我想起 GNU tar 支持的功能远多于仅仅使用 gzip 压缩,并且它提醒我后缀不仅仅是简单的约定。它们具有内置的语义。它还支持 bzip2 ( -j
for .bz2
) 和旧压缩 ( -Z
for .Z
)。然后我查看了手册页,并被提醒-a
根据后缀自动映射您所需的压缩方法。
又一个尼特。正如 Linux tar 手册页所述,GNU 生成信息页,而不是手册页,因此要了解有关 GNU tar 的所有信息,请运行info tar
.
答案4
tar 实用程序不会压缩,直到您给出执行此操作的参数 [tar -z 文件名]。