`
cab0605
  • 浏览: 109354 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

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


0
0
分享到:
评论

相关推荐

    linux下的压缩与解压缩

    通过本文的学习,我们可以了解到Linux系统下压缩与解压缩的基本原理及常用工具的使用方法。掌握这些技能对于日常的数据管理尤为重要。无论是简单的文件压缩还是复杂的多卷归档,都有相应的工具和命令可以实现。希望...

    linux解压缩命令大全

    本文将详细介绍这些压缩文件格式以及如何在Linux环境下使用命令行工具进行压缩和解压操作。 #### 二、Zip格式 **压缩命令:** ```bash zip -r [目标文件名].zip [原文件/目录名] ``` - `zip`:压缩命令。 - `-r`...

    Linux命令行概述.rar

    这篇文档将对Linux命令行进行详尽的概述,帮助你更好地理解和掌握这一强大工具。 1. **命令行基础** - **终端**:在Linux中,命令行通常是在终端(Terminal)或控制台中运行。终端模拟器如GNOME Terminal、Konsole...

    linux解压命令大全

    - `gzip -dv *` 把当前目录下每个压缩的文件解压,并列出详细的信息。 - `gzip -l *` 详细显示已压缩文件的信息,并不解压。 - `gzip usr.tar` 压缩tar备份文件usr.tar,此时压缩文件的扩展名为.tar.gz。 通过...

    DNW工具linux使用

    ### DNW工具在Linux下的使用详解 #### 一、概述 本文主要介绍如何将DNW工具移植至Linux环境,并提供具体的代码及操作步骤。DNW工具通常用于在嵌入式系统开发过程中进行固件更新或者数据传输等工作。通过将DNW工具...

    linux系统监控工具

    #### 二、nmon工具概述 nmon(Nigel’s Performance Monitor for Linux)是一款轻量级、高效的系统监控工具,适用于多种Linux发行版及AIX操作系统。它的主要优势在于能够实时监控并记录系统资源的使用情况,如CPU...

    Ubuntu_10.04运用crosstool-ng-1.9.0建立arm-linux交叉工具链

    ### Ubuntu 10.04 下使用 crosstool-ng-1.9.0 构建 arm-linux 交叉工具链 #### 概述 在嵌入式开发领域,特别是对于 ARM 架构的设备,构建一个合适的交叉工具链至关重要。交叉工具链允许开发者在一个架构上编译代码...

    Linux下JAVA的Web开发(环境搭建篇)

    ### Linux下JAVA的Web开发(环境搭建篇) 在信息技术领域,随着互联网技术的快速发展与广泛应用,Web应用系统已经成为企业信息化建设的重要组成部分。特别是在基于Linux系统的环境下进行Java Web开发,不仅能够充分...

    嵌入式 linux 截图工具gsnap移植

    ### 嵌入式Linux截图工具gsnap的移植详解 #### 概述 本文档旨在详细介绍如何将gsnap截图工具移植到OK6410与TX2416开发板的过程,包括必要的环境搭建、软件编译及最终的集成步骤。通过本教程,读者能够了解到在...

    Linux下的java开发与部署

    此外,了解Linux下常用的开发工具,如vi/vim编辑器、make构建工具、git版本控制等也至关重要。 #### 部署Java应用 部署Java应用至Linux服务器,关键步骤包括打包应用为WAR或JAR文件、上传至目标服务器、配置Web...

    linux下面的联网工具openkeeper最新版

    【Linux下的联网工具OpenKeeper详解】 在Linux操作系统中,OpenKeeper是一款重要的联网工具,尤其适用于Ubuntu 12.04及更高版本。该工具提供了一系列功能,帮助用户更有效地管理和配置网络连接,确保系统在网络环境...

    linux解压缩命令大全.txt

    为了方便地处理这些文件,Linux提供了丰富的解压缩命令工具。本文将详细介绍这些常用的命令及其用法。 #### 二、常用解压缩命令及应用场景 1. **`tar`命令** - `tar`是最常见的打包工具之一,主要用于创建或管理...

    ORACLE 客户端在linux下安装

    使用解压工具(如`unzip`或`tar`)解压下载的ZIP文件。这一步骤会自动生成一个名为`instantclient_11_2`的目录,其中包含了解压后的所有文件。 #### 五、从Oracle数据库服务器拷贝文件 由于Linux客户端安装包中未...

    Linux常用命令之解压缩相关

    本文介绍了在Linux系统中如何使用`xz`工具解压.tar.xz文件,以及如何利用Python脚本来解决ZIP文件解压后中文名乱码的问题。这些技巧对于日常的文件管理和软件开发工作都非常有帮助。希望本文能为你在Linux环境下的...

    免费ngrok外网映射工具支持windows、linux、mac

    一、ngrok概述 ngrok提供了一个安全的隧道,通过这个隧道,外部网络可以访问到用户的本地主机。它的工作原理是:ngrok客户端在本地启动并连接到ngrok服务器,服务器为本地服务分配一个临时的公共URL,然后任何通过这...

Global site tag (gtag.js) - Google Analytics