GZIP for AS400
这里向大家介绍一个在AS400上使用的GZIP压缩和解压工具。
在需要传输大文件的时候,如果网路带宽有限,那采用GZIP先行压缩还是挺有用的。
首先,将附件GZIP.zip解压,其中有两个文件:
gzip.exe
savgzip.savf
gzip.exe是用来在Windows平台进行压缩和解压操作的。用法如下:
D:>gzip -h
D:>gzip <filename>
D:>gzip -d <filename>.gz
而savgzip.savf包含的则是用在AS400平台上的压缩和解压工具。
不过,我们首先应通过FTP先将它传至AS400:
D:>FTP <AS400's IP Address>
userid: <userid>
password: <password>
cd /QSYS.LIB/QGPL.LIB
bin
put savgzip.savf
quit
然后,在AS400命令行键入下面的命令:
DSPSAVF FILE(QGPL/SAVGZIP)
RSTLIB SAVLIB(GZIP) DEV(*SAVF) SAVF(QGPL/SAVGZIP)
至此,我们在系统中创建了一个名为GZIP的应用程序,它位于同名的Library当中。用法如下,
CALL PGM(GZIP/GZIP) PARM('<IFS_LinkName>')
CALL PGM(GZIP/GZIP) PARM('-d' '<IFS_LinkName.gz>')
例如:
CALL PGM(GZIP/GZIP) PARM('/home/mysub/myfile')
CALL PGM(GZIP/GZIP) PARM('-d' '/home/mysub/myfile.gz')
Enjoy GZIP...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
诚然,将SAV / SAVLIB / SAVOBJ语句中的Data Compression参数设为*HIGH,其压缩程度是可与GZIP相比的。但是,随着IBM i愈来愈开放,我们越来越多地涉及集成文件系统(IFS)与PC之间的文件传输。一方面,如果PC端的大文件要上传至某个IFS目录,由于PC端没有SAVF工具,所以它只能进行无压缩的FTP上传。另一方面,如果某个IFS目录里的大文件要下传至PC端,即使能够下传压缩了的SAVF,我们也没有工具将它在PC端进行解压恢复。而这个GZIP工具正是弥补了这一缺失,因此它是有用的。
这个gzip压缩比能多大? 不大的话没意义. 超大的用磁带不就行了.