用于解压缩任何文件压缩格式的Linux工具

时间:2017-11-17 19:11:39

标签: linux ubuntu

给出一个名为" foo"的文件。没有任何格式

是否有linux命令工具能够根据文件格式检测和解压缩它?

我知道我可以使用" file foo"并相应地解压缩它。但是,我希望并且需要一种可以检测和解压缩任何格式的工具

1 个答案:

答案 0 :(得分:2)

压缩的工作原理是尽可能多地删除冗余信息,从而最大化压缩输出的熵。换句话说,在一般情况下,压缩信息与随机噪声无法区分,因此无法区分。

直截了当地说:所有压缩文件看起来都是一样的,除非你有额外的带外信息,否则不可能弄清楚它们被压缩的内容。某些压缩格式指定容器格式(例如.zip文件或.gz文件),其中包含一个标题,告诉您使用哪种压缩算法压缩文件,并且它们还指定了几个魔术字节文件的开头,告诉您使用哪种容器格式。

但是,并非所有压缩文件都存储在这样的容器中,并非所有容器都有魔术字节,并非所有容器都有一个标题告诉您压缩算法,最后但并非最不重要的是,一个压缩算法的输出可能会意外地开始指定不同压缩算法的特定容器格式的神奇字节。

因此,简而言之,不,只能从压缩输出中确定压缩算法。您需要有关压缩算法的带外信息。