Answers:
Tar是一种存档工具(Tape ARchive),它仅将文件及其元数据收集在一起,并生成一个文件。如果以后要压缩该文件,可以使用gzip / bzip2 / xz。为了方便起见,tar提供了一些参数来自动为您压缩归档文件。请查看tar手册页以获取更多详细信息。
thing.tar.7z
z
并根据扩展名确定压缩方法,但BSD tar也提供了压缩参数,而GNU tar zZjJ
为不同的压缩方法提供了单独的参数。
zZjJ
与GNU tar一样使用单独的压缩方式。但是,它在解压缩时会自动检测压缩,而GNU tar zZjJ
也会期望压缩。
tar
无需-zZjJ
选项即可自动解压缩。
tar
产生档案;压缩是一项单独的功能。但是 tar
,当单独使用大量小于文件系统群集大小的小文件时,可以减少空间使用。如果文件系统使用1kb群集,那么即使是包含单个字节的文件也将消耗1kb(加上inode)。一个tar
存档没有这方面的开销。
顺便说一句,ISO文件并不是真正的“保存文件的文件”-它实际上是整个文件系统的映像(一个最初设计用于CD的映像),因此其结构要复杂得多。
原始UNIX tar命令未压缩归档文件。如评论中所述,Solaris tar不会压缩。HP-UX或AIX FWIW也没有。按照惯例,未压缩的档案以结尾.tar
。
使用GNU / Linux,您可以获得GNU tar。(您可以在其他UNIX系统上安装GNU tar。)默认情况下,它不会压缩;但是,它确实压缩用gzip(也由GNU)如果您对供应产生的存档-z
。压缩文件的常规后缀为.gz
,因此您经常会看到以结尾的tarball(tar存档的s语,通常表示已被压缩).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
适用于.bz2
)和旧版compress(-Z
适用于.Z
)。然后,我查看了手册页,并被提醒可以-a
根据后缀自动映射所需的压缩方法。
另一个尼特。正如Linux tar手册页所述,GNU生成信息页,而不是手册页,因此,要全面了解GNU tar,请运行info tar
。