在tar压缩文件中有一种添加注释或描述的方法

时间:2016-09-12 19:46:44

标签: linux bash compression tar

是一种在tar文件中添加注释或描述的方法吗? 这个想法是在不需要提取整个存档的情况下添加信息 - 超级快速,例如“此存档是为了等等” 例如:

tar --comment "This tar us for blah blah" -cjvf mytarfile.tar.bz2 directory_that_I_want_to_compress

更新 我发现使用zip和unzip我想要做什么。我可以将我的评论存储在zip存档中的文件中,并快速检索该文件,而无需提取整个存档。快。

zip -r my.zip my_dir
unzip -p my.zip my_dir/mycomment.txt

2 个答案:

答案 0 :(得分:2)

tar格式中没有评论字段。

您必须将文件添加到tar存档(例如README或COMMENT文件)。

将文件添加到压缩的tar存档(在您的示例中为.tar.bz2),速度不会很快。最简单的方法是解压缩,删除终止的最后1024个字节的零,附加tar标头和要添加的最终文件的内容,然后附加1024个字节的零来终止。然后重新压缩。

对于.tar.gz,可以减少解压缩工作以找到包含最后1024个字节(然后是一些)的最后一个deflate块或块,并且只在追加时重新压缩它们。这需要高级使用zlib库,以及对deflate格式的一些了解。 (有关示例,请参阅gzappend。)

通过搜索最后一个BWT块,并且只能重新压缩,可以使用.tar.bz2进行类似的操作。同样,需要对压缩数据格式有一些了解。

gzip文件格式允许gzip标头中的注释字段,但bzip2格式不允许。

答案 1 :(得分:0)

知道tar有一个-t选项可能会有所帮助,它会将tar的内容列为stdout。如果您想要在不提取内容的情况下查看内容,这将非常有用。