3
我试图tar一些文件并通过php passthru命令将它们传递给用户。删除由tar生成的尾部空字符
问题是,即使tar文件应该只是像2k它始终是10240.有趣的数字吧?
所以我已经打破它归结为:
-sh-4.1# tar czf - test | wc -c
10240
VS:
-sh-4.1# tar czf test.tar.gz test && wc -c test.tar.gz
2052 test.tar.gz
所以焦油显然是填充了与空文件。
那么,我该如何让焦油停止这样做。或者,我怎样去掉尾随的NULL。
我在tar (GNU tar) 1.15.1
上运行,无法在我的工作站上重现,因为这是一个嵌入式项目升级不是我正在寻找的(尚)的答案。
编辑:我希望有一个解决方案,确实需要写入文件系统..也许一种方法来阻止它从填充或管道通过sed或东西去除填充。
您可以上传的'焦油CZF结果 - 测试> tar.redirect'和'焦油CZF tar.file测试'某处?另外,你在运行GNU tar 1.15.1的体系结构是什么? – phihag 2012-07-06 11:09:22
*“对于tar和cpio格式,如果输出写入标准输出或字符或块设备(如磁带驱动器),则输出的最后一个块被填充为全块大小。如果正在将输出写入一个普通的文件,最后一个块不会被填充。“*('man tar') - 似乎答案是写入一个文件... :) – deceze 2012-07-06 11:16:06
Yupp,@deceze。我也看到了。希望有一个解决方案,不接触文件系统..也许一种方法来阻止它从填充或管道通过sed或东西去除填充.. – barsju 2012-07-06 11:43:44