`

linux压缩工具的性能比较

阅读更多
一、Linux压缩工具概述

在Linux系统中,提供了许多压缩工具,虽然方便,但也难免造成一些混乱。笔者通过一段时间的整理,将它们理一理顺,希望能够对大家有所帮助:
首先,我们看一下下面这张“压缩包扩展名与压缩工具对应表”,大家通过这张表,就知道网上下载的压缩包,该用什么软件来解了。
工具名 压缩包扩展名
gzip/gunzip “.gz”
compress/uncompress “.Z”
zip/unzip “.zip”
bzip2/bunzip2 “.bz2”
lha “.lzh”

接下来,我们通过实例,来测量一下它们的压缩效率与性能:

测试一:
测试数据:源文件是一个数据库文件,其大小为5,244,928;
测试结果:
gzip:19,136,2秒
compress:17,769,1秒
zip:19,261,2秒
bzip2:1902,2秒
测试二:
测试数据:源文件是一个/etc目录的tar包,其大小为2,631,680;
测试结果:
gzip:551,736,2秒
compress:877,391,3秒
zip:551,856,3秒
bzip2:478,512,11秒
测试三:
测试数据:源文件是一个avi视频文件,其大小为23,157,760;
测试结果:
gzip:17,151,395,43秒
compress:压缩失败,43秒
zip:17,151,509,42秒
bzip2:16,587,991,2分40秒
通过上面的实验,我认为如果你需要高压缩率,就选择bzip2;否则最佳选择就是gzip,它的性价比较好,而且是纯正的自由软件:gzip就是GNU zip!
在LINUX/UNIX系统下,用这些压缩软件是不能直接对一个目录进行打包,当您需要这样做时,通常先使用tar进行归档,将整个目录打包成为一个tar包,然后用压缩软件来压缩。下面我们以备份/etc目录下的所有文件为例,说明一下:
tar –cvf etc /etc (将在当前目录生成一个etc.tar)
gzip etc.tar (将会把etc.tar压缩成为etc.tar.gz)

关于tar的更多信息,我们将专文说明。
好了,说了这么多,下面我们就一起逐一看一下这些压缩工具的用法。


二、Linux压缩工具概述

1.gzip和gunzip
压缩包扩展名:“.gz”
特点:
1)它是纯正的自由软件,性能不错!
2)若没有加上任何参数,生成压缩文件后,会删除原始文件;

命令使用:
1) 压缩一个文件:
gzip file 这样将生成file.gz,删除原文件file;

2) 压缩一个文件,并保留源文件:
gzip –c a > a.gz
3) 提高压缩率:gzip –9 file
注:压缩等级可以从1-9,数字越大压缩效果越好,但要花的时间也越长,默认值为6。
4) 解压缩:
gzip –d file.gz 或
gunzip file.gz

5) 显示详细信息:
gzip –v file
6) 显示版本信息:
gzip –V

2.bzip2和bunzip2
压缩包扩展名:“.bz2”
特点:
1)它采用了新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法来得好;
2)若没有加上任何参数,生成压缩文件后,会删除原始文件;
命令使用:
1) 压缩一个文件:
bzip2 file 这样将生成file.bz2,删除原文件file;
2) 压缩一个文件,并保留源文件:
bzip2 –k file
3) 提高压缩率:bzip –9 file
注:压缩等级可以从1-9,数字越大压缩效果越好,但要花的时间也越长。
4) 解压缩:
bzip2 –d file.bz2 或
bunzip2 file.bz2
5) 显示详细信息:
bzip2 –v file
6) 显示版本信息:
bzip2 –V
相关工具:
如果用bzip2压缩的文件出错的话,你可以尝试使用bzip2recover来恢复:
bzip2recover file-bad.bz2

3.compress和uncompress
压缩包扩展名:“.Z”
特点:
1)它是一个历史悠久的压缩程序,在许多UNIX系统中都可以找到;
2)默认情况下,生成压缩文件后,会删除原始文件。
命令使用:
1) 压缩一个文件:
compress file
2) 压缩一个文件,并保留源文件:
compress –c a > a.Z
3) 提高压缩率:compress –b9 file
注:压缩等级可以从9-16,数字越大压缩效果越好,但要花的时间也越长。预设值是16。
4) 解压缩:
compress –d file.Z 或
uncompress a.Z
5) 显示详细信息:
compress –v file
6) 显示版本信息:
compress –V

4.zip和unzip
压缩包扩展名:“.zip”
特点:
1)它是一个使用广泛的压缩程序,其版本横跨十多种操作系统与硬件结构平台;
2)默认情况下,生成压缩文件后,不会删除原始文件。
命令使用:
1) 压缩一个文件:
注意:如果要压缩的是个文件夹,则要加上-r参数,表示调用递归压缩,如:
zip -r temp.zip temp
zip zipfile file (zipfile是压缩后的文件名,file要压缩的文件名)
2) 压缩一个文件,并删除源文件:
zip –m file
3) 提高压缩率:zip –9 file
注:压缩等级可以从1-9,数字越大压缩效果越好,但要花的时间也越长。预设值是6。
4) 解压缩:
zip –d file.zip 或
unzip file.zip
5) 显示详细信息:
zip –v file
6) 显示版本信息:
zip –V
相关工具:
在Linux中,还提供了一个叫zipinfo的工具,能够察看zip压缩文件的详细信息:
zipinfo file.zip


三、其它压缩/解压缩工具

除了这四对压缩/解压缩工具外,在Linux下还有以下三种压缩/解压缩工具:

1.lha
lha是从lharc演变而来的压缩程序,文件经它压缩后,会产生一个具有“.lzh”的扩展名。使用起来还是比较简单的,而且它是可以直接将一个目录打包的:
1) 压缩一个文件:
lha –a lhzfile file (lhzfile是压缩后的文件名,file要压缩的文件名)
2) 解压缩:
lha –xiw=/tmp lhzfile (其中/tmp是解压缩后的存放目录,lhzfile是压缩文件名)
3) 压缩一个目录:
lha –a lhzfile directory

2.gzexe
这是一个十分特殊的压缩工具,它用来压缩可执行文件。当您执行被gzexe压缩过的可执行文件时,该文件会自动解压后继续执行,和执行一般的可执行文件一样。
当然这一过程会多占用一些系统资源,只有你的可用磁盘空间十分有限时才建议使用。
1) 压缩
gzexe program
这样会生成一个program~,为的是万一压缩失败还能够恢复,当你确定压缩后可以使用后,应删掉它,否则不就白压缩了吗?
2) 解压缩
gzexe –d program

3.unarj
如果你有一些用arj压缩的包的话,你可以使用unarj解开它,不过它只能够解,却无法执行压缩。在Linux没有提供arj压缩工具。
解压时,很简单:unarj e arjfile
分享到:
评论

相关推荐

    Linux-IO性能优化基础工具和实践

    Linux-IO性能优化基础工具和实践: 基础篇-Linux IO stack overview 基础篇-read syscall IO stack 工具篇-iostat数据可靠吗 工具篇-blktrace原理和应用 工具篇-debugfs应用 Cache server机械盘IO性能瓶颈分析 实践...

    MobaXterm远程linux机器连接工具

    MobaXterm远程linux机器连接工具,内存极小,功能强大,连接效率,性能高!解压点击.exe程序直接运行连接。

    性能测试工具wrk-4.1.0-linux

    性能测试工具wrk-4.1.0 linux版本源码,加压后需要mk,具体操作以及使用说明可百度。因为包较大,所以用了7z压缩,下载后自己可以转tar压缩再传到服务器。

    连接linux工具

    主要特性: 1.多平台支持Windows,Mac OS X,Linux 2.多标签,批量服务器管理. 3.支持登录Ssh和Windows远程桌面. 4.漂亮的平滑字体显示,内置100多...17.打包传输,自动压缩解压. 18.免费内网穿透,无需设置路由器,无需公网ip.

    linux下的磁盘IO性能测试工具fio

    解压到linux系统后,shell界面运行以下命令 rpm -ivh --force --nodeps $cur_dir/libibverbs-1.1.8-3.el6.x86_64.rpm rpm -ivh --force --nodeps $cur_dir/fio-2.1.7-1.el6.rf.x86_64.rpm libibverbs-1.1.8-3.el6....

    史上最佳体验的windows和linux远程连接工具,比Xshell更好用的 FinalShell

    1.多平台支持Windows,Mac OS X,Linux 2.多标签,批量服务器管理. 3.支持登录Ssh和Windows远程桌面. 4.漂亮的平滑字体显示,内置100多个配色方案...17.打包传输,自动压缩解压. 18.免费内网穿透,无需设置路由器,无需公网ip.

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    10.6 Linux下常见的性能分析工具 10.6.1 vmstat命令 10.6.2 sar命令 10.6.3 iostat命令 10.6.4 free命令 10.6.5 uptime命令 10.6.6 netstat命令 10.6.7 top命令 10.7 基于Web应用的性能分析及优化...

    服务器代理工具,性能检测工具

    ServerAgent 是一款安装在被测服务器端,与Jmeter集成的性能监控插件,支持查看CPU,memory,正确率,响应时间,I/O等的监控,是个不错的插件。 工具使用方法 服务端 Linux服务端: ...

    mlc_v3.9.tgz 内存延迟测试工具

    Intel Memory Latency Checker(Intel MLC) 解压即可使用,兼容windows和linux

    juuluu zip文件加解压工具 v2.7

    这款zip文件加压解压工具使用java开发,支持linux/window平台,是性能卓越的国产文件压缩工具。

    Linux服务器远程连接工具

    16.打包传输,自动压缩解压. 17.支持rz,sz (zmodem) 18.多地点ping监控 19.命令输入框,支持自动补全,命令历史 20.自定义命令参数功能,可动态根据输入参数生成命令 21.可设置终端背景图片,并拥有动态背景模糊

    性能测试工具.rar

     jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是...

    国产平台CPU 内存 网络 和性能测试工具,带有教程

    五、IO性能测试——Iozone 1.安装 解压:tar –xvf iozone3_471.rar 进入目录:cd iozone3_471/src/current/ 编译:make linux-AMD64 2.测试 ./iozone -a -n 8g -g 8g -i 0 -i 1 -f /mnt/test -Rb ./iozone.xls 3....

    Android 制作yaffs2 以及unyaffs(解压yaffs2)工具

    Android 制作yaffs2 以及unyaffs(解压yaffs2)工具 可用将yaffs image 解压成文件以及将文件制作成yaffs image。 直接将源码放在linux 机器, 到源码目录执行make 就能生成工具。

    linux压缩包

    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。...Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    硬件性能测试工具fio.tar.gz

    I/O 工具用来对硬件进行压力测试和验证,支持 13 种不同的 I/O 引擎,包括:sync, mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等,I/O priorities (for newer Linux ...

    Linux常用命令全集

    介绍了文件编辑与内容处理,文件的查找、压缩与硬盘管理,网络相关命令,进程与性能调优,系统管理等各种命令的使用方法和技巧,可谓是一套 Linux 命令手册。 无论是初学者学习使用 Linux,还是开发者或系统管理员...

    Linux常用命令(系统信息和性能查看)

    关机/重启/注销 系统信息和性能查看 磁盘和分区 用户和用户组 网络和进程管理 常见系统服务命令 文件和目录操作 文件查看和处理 打包和解压 RPM 包管理命令 YUM 包管理命令 DPKG包管理命令 APT软件工具

    Windows封包测试工具(支持批量提交)

    封包测试工具可以帮助开发人员评估应用程序在各种网络条件下的性能,并识别和解决与网络有关的问题。 介绍一款封包测试工具,该工具可用于测试网络应用程序的数据包传输情况。 该工具可以模拟发送和接收数据包,以...

    iperf_2.0.2_for_Linux&&iperf_2.0.2_for_windows&&使用说明

    Iperf 是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽,具有多种参数和UDP特性。Iperf可以报告带宽,延迟抖动和数据包丢失。 编译与安装 Iperf2.0.2目前仅提供源码包的下载。当...

Global site tag (gtag.js) - Google Analytics