我正在尝试压缩一些文件并通过 php passthru 命令将它们传递给用户。
问题是,尽管 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
所以 tar 显然用 NULL 填充了文件。
那么我怎样才能让 tar 停止这样做呢?或者,如何去掉尾随的 NULL。
我正在奔跑tar (GNU tar) 1.15.1
并且无法在我的工作站上重现tar (GNU tar) 1.23
,并且由于这是一个嵌入式项目,升级不是我正在寻找的答案(还)。
编辑:我希望找到一种确实需要写入文件系统的解决方法。也许有一种方法可以阻止它填充或通过 sed 或其他东西进行管道传输以去除填充。
您可以通过使用较小的块大小来减弱填充效果,尝试将 -b1 传递给 tar
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)