我需要创建压缩档案的文件,并能够迅速提取个人文件/目录从他们。
例如,问题是,对于这样的任务,tar.bz2似乎不是最好的选择--从200 my存档(50000个文件)中提取单个4kb文件在我的机器上需要17秒钟。
是否有某种存档格式,可以从归档(并在linux上工作)快速导出单个文件?
发布于 2012-04-15 18:06:08
Zip格式分别压缩每个文件,然后将它们(与存档内容目录)合并到一个存档文件中。
发布于 2019-01-24 18:12:22
皮兹是xz的一个并行索引版本。
# Compress:
tar -I pixz -cf foo.tar.xz ./foo
# Decompress:
tar -I pixz -xf foo.tar.xz
# Very quickly list the contents of the compressed tarball:
pixz -l foo.tar.xz
# Very quickly extract a single file:
pixz -x dir/file < foo.tar.xz | tar x发布于 2012-04-16 02:42:53
除了前面提到的zip格式之外,dar和dump实用程序也擅长处理这个问题,并且与zip不同,保留unix权限。对于dar,您希望避免使用solid归档选项,因为这可以返回到tar/gzip方法,即立即对整个文件进行压缩,从而提供更好的压缩,但使提取单个文件所需的时间更长,因为必须对整个文件进行解压缩,直到找到所需的文件。dump很好地处理大量小型文件(数万),并且可以执行多线程压缩,但它只读取ext234文件系统。
https://unix.stackexchange.com/questions/36487
复制相似问题