阅读前解压tar

Decompress tar before reading

在读取 gzipped tar 文件时解压缩 -z 标志有何不同?

//Without unzipping
sysadmin@localhost:~/Documents$ tar -tf logs.tar.gz                             
logs/                                                                           
logs/access_log.1                                                               
logs/access_log.2                                                               
logs/access_log.3                                                               
logs/access_log.4                                                               

////With unzipping
sysadmin@localhost:~/Documents$ tar -tzf logs.tar.gz                            
logs/                                                                           
logs/access_log.1                                                               
logs/access_log.2                                                               
logs/access_log.3                                                               
logs/access_log.4  

在这两种情况下,内容似乎都能正确显示。

首次引入 -z 时,解压缩存档时需要它。后来(也许是为了帮助使用 -j 支持 bzip2)有人修改了 GNU tar 来进行检查并自动执行此操作。自动检查是可能的,因为文件的前几个字节具有独特的 "magic" 值。

相对于 -z 选项的更改(当然是 tar)是相当新的:我没有在更改日志中明确看到它,但是关于 "magic" 的评论2010 年的 lzip 听起来很相关,而 1997 年的条目中提到了 "compress"。

2004 年:来自 /usr/doc/tar-1.15.1/新闻,Slackware 10.2 ...

version 1.15 - Sergey Poznyakoff, 2004-12-20

* Compressed archives are recognised automatically, it is no longer
necessary to specify -Z, -z, or -j options to read them. 
( Thus, you can now run `tar tf archive.tar.gz'.)

和2009年~tar添加lzma解压,自动识别:后缀.xz