linux – 有没有更聪明的tar或cpio来有效地检索存档中存储的文件?

我使用tar来存档一组非常大(多GB)的bz2文件.

如果我使用tar -tf file.tar列出存档中的文件,则需要很长时间才能完成(约10-15分钟).

同样,cpio -t< file.cpio需要很长时间才能完成,加上或减去几秒钟. 因此,从存档中检索文件(例如通过tar -xf file.tar myFileOfInterest.bz2)也很慢. 是否有存档方法可以随时保存存档中的“目录”,以便可以快速检索存档中的单个文件? 例如,某种目录存储指向存档中特定字节的指针,以及要检索的文件的大小(以及任何其他特定于文件系统的详细信息). 是否有一个工具(或tar或cpio的参数)允许有效检索存档中的文件

解决方法

tar(以及cpio和afio和pax以及类似程序)是面向流的格式 – 它们旨在直接流式传输到磁带或通过管道传输到另一个进程.虽然理论上可以在文件/流的末尾添加一个索引,但我不知道任何版本(尽管它会是一个有用的增强)

它对现有的tar或cpio存档没有帮助,但还有另一个工具dar(“磁盘存档”)可以创建包含这种索引的存档文件,并且可以让您快速直接访问存档中的各个文件.

如果您的unix / linux-dist中不包含dar,您可以在以下位置找到它:

http://dar.linux.free.fr/

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...