我正在使用zip
存档大量文件。我有一些文件很小(它们只包含一行存储的一个十进制数)。对这些文件进行操作后,zip
会报告stored 0%
。不是deflated 0%
,而是stored 0%
。我想知道这是否意味着我后续的zip存档不会存储这些文件。如果是这样,我有什么方法可以修复它,zip
会存储它们吗?是因为文件太小了吗?
答案 0 :(得分:27)
当zip
添加文件时,如果有意义,它会压缩文件。
如果文件足够大,zip
将使用压缩算法DEFLATE
(并打印“缩小”和压缩后获得的%)。
对于非常小的文件,压缩会使结果更大(例如,如果我手动收缩2字节的文件,我会得到4个字节),所以zip
决定STORE
他们(不压缩):它打印“存储”和0%,因为这种“压缩”没有改变大小。 zip
还会STORE
个文件夹(无内容)。
您可以轻松使用压缩:zip -0
STORE
zip -1
所有内容,zip -9
到DEFLATE
都会更改zip -Z bzip2
和{{1}的压缩级别将改变压缩方法。
所以,回答你的问题:stored 0%
没问题!该文件已添加但未压缩。
答案 1 :(得分:13)
你用递归选项运行zip吗?
zip -r output.zip folder
如果没有-r
,则zip不会压缩子目录并导致缩小0%。