让我们假设我有几个千兆字节的tar文件,但是我也碰巧知道写入归档文件的最后一个文件是我需要的东西。 由于tar文件是按顺序附加的,有没有办法让tar从最后读取到档案中来find这个档案,而不是从头开始读取数千兆字节的无关数据?
不,不幸的是没有。 从维基百科
与其他档案格式相比,tar格式的另一个弱点是没有关于文件内容的信息(一个“目录表”)的集中位置。 因此,要列出存档中文件的名称,必须通读整个存档并查找文件的起始位置。 另外,为了从存档中提取一个小文件,而不是能够查找表中的偏移量,并像其他存档格式一样直接转到该位置,使用tar,必须通过整个存档来查找该位置所需文件的起始位置。 对于大型tar档案,这会导致很大的性能损失,使得tar档案不适合于经常需要随机访问单个文件的情况。