现在需要一个跨平台且统一格式的压缩包。
Linux下很好办,使用tar和gzip可以轻松解决:
Tar czf pack.tar.gz pack/ 或 tar cf pack.tar pack/ ; gzip pack.tar
Gzip单独使用时,若成功会将原来的文件删除,保留压缩文件;否则会删除压缩文件,原文件不变。
对于Windows下,可以使用winzip,它和gzip都使用zip的压缩格式,但是tar格式就难以统一了,后来,找到Tar for Windows:http://gnuwin32.sourceforge.net/packages/libarchive.htm,其中包括了源代码和二进制工具,别忘了此工具需要zlib、bzip2和msvcrt.dll、msvcp60.dll。另外,如果不想让用户一定要装Winzip,可以使用Gzip for Windows :http://gnuwin32.sourceforge.net/packages/gzip.htm,其中仍然包含了二进制工具gzip。当然,为了让系统找到这些程序,你需要将这些工具所在目录放在系统的环境变量%PATH%中,或者拷贝到%PATH%能够找到的目录。
这样,为了对目录pack打包,可以:
Bsdtar –cf pack.tar pack ; gzip pack.tar
解包步骤就为:
Gzip pack.tar.gz ; bsdtar –xmf pack.tar