详解Linux压缩的多种方法
创始人
2024-06-09 05:40:29
0

Linux经过长时间的发展,很多用户都了解关于linux压缩方面的要领,这里我发表一下个人理解,和大家讨论讨论。linux压缩工具有很多,下面列常用的压缩工具及其产生文件的后缀:gzip/gunzip后缀名为.gz;compress/uncompress后缀名为.Z;zip/unzip后缀名为.zip;bzip2/bunzip2后缀名为.bz2;lha,后缀名为.lzh。Linux压缩工具中最常用的包括gzip、zip和bzip2三种,下面分别讲述这三种最常用的压缩工具。

1.gzip命令
◆对文件进行压缩的目的有两个:一是可以减少存储空间;二是通过网络传输文件时,可以减少传输的网络开销。gzip是Linux最常用的软件压缩工具,在Linux终端输入mangzip命令降显示gzip的帮助文档。该命令的使用形式为:gzip[选项]压缩或解压缩的文件名。
◆下面给出使用gzip命令压缩文件的例子,压缩当前目录下的所有文件,并且显示压缩比,显示已经替代原来的文件:#gzip-v*,其中-v参数表明显示压缩比和文件名。需要注意的是,gzip只能对单个文件压缩,不能像Winzip和Winrar一样,可以将多个文件压缩成一个.zip文件或.rar文件。正因为如此,Linux才提供了tar命令,用于将若干文件或文件夹打包成一个文件,然后再压缩成一个.gz文件。接着是解压缩文件的例子,对当前目录下所有压缩的文件解压缩,并列出详细的信息:#gzip-dv*。
◆另外,显示压缩文件的内容信息:可以用带-l参数的gzip命令显示gz文件的内容。这只是显示文件内容,并不实际解压缩文件:#gzip-l*。
◆此外,在tar命令中也可以直接嵌入gzip命令,从而直接将若干文件或文件夹处理成一个.tar.gz文件。在这个处理过程中,系统先将若干文件或文件夹打包成.tar,然后将生成的.tar文件压缩成.tar.gz文件。例如将当前目录下所有文件打包并压缩成gong.tar.gz并显示处理进度:#tarcvfzgong.tar.gz./*。

2.zip/unzip命令
◆zip程序位于/usr/bin目录中,可将文件压缩成.zip文件以节省硬盘空间,而当需要的时候又可将linux压缩文件解开。unzip命令用于将压缩文件解压。zip命令的使用形式为:

◆zip[选项]压缩后文件名待压缩文件或文件夹,其中:参数选项表明要完成的操作类型,压缩后的文件名是某个合法的文件名,其后缀为zip,待压缩文件或文件夹指明须要进行压缩的文件或文件夹,可以是多个文件或文件夹。

◆下面给出使用该命令压缩文件或文件夹的例子。例如将当前目录下的所有文件和文件夹全部压缩成gong.zip压缩文件,-r表示递归压缩子目录下所有文件:#zip-rgong.zip./*。用带-v参数选项可以查看zip文件的内容,这点类似于带t参数选项的tar命令。只不过前者用于显示压缩的zip文件的内容,后者用于显示tar文件的内容。与带t参数选项的tar命令类似,带v参数选项的zip命令实际上并不解压缩文件,例如查看gong.zip文件的内容:#zip-vgong.zip。

◆用带-d参数选项的zip命令可以从zip压缩文件中删除某个文件,而使用带-m的zip命令可以向zip压缩文件添加某个文件。例如删除压缩文件中smart.txt文件:#zip-dgong.zipsmart.txt;向压缩文件中gong.zip中添加rpm_info.txt文件:#zip-mgong.zip./rpm_info.txt。

◆此外,unzip命令用于扩展名为zip的压缩文件的解压缩,同时,Windows下用压缩软件Winzip压缩的文件在Linux系统下也可以用unzip命令解压缩。unzip命令的语法如下:unzip[参数选项]压缩文件名.zip。unzip命令的常用用法有:#unzipgong.zip(将gong.zip解压缩到当前目录);#unzip-ntext.zip-d/tmp(解压缩当前目录下的text.zip压缩文件,-n参数选项指明不覆盖原有文件,-d/tmp指明将文件解压缩到/tmp目录下);#unzip-vtext.zip(显示当前目录下text.zip压缩文件内容)。

3.bzip2命令
◆bzip2是一个无损压缩软件,具有高质量的数据压缩能力。它能将文件压缩到原来的10%到15%,而且压缩速度和解压缩速度都非常高,因此在Linux压缩软件中得到广泛使用。
◆bzip2从命令行读入文件名和参数,每个文件都被名为“原始文件名.bz2”的压缩文件替换。每个压缩文件具有与原文件相同的修改时间和权限,如果可能的话,还具有相同的属主,因此在解压缩时这些特性将正确地恢复。
◆具体操作如下,例如,用bzip2命令压缩当前目录下所有文件,用bunzip2-z*将获得相同的效果:#bzip2*。再例如用bunzip2命令解压缩当前目录下所有文件,其中有一个文件free.txt不是以bz2为后缀:#bunzip2。

【编辑推荐】

  1. 简单概括Linux发行版
  2. Linux无线网络技术:GPRS、GSM
  3. LINUX FSCK数据出错灾难应急方案
  4. 8个工作实用而有趣Linux下的Bash命令提示行
  5. linux内存管理之非连续物理地址分配(vmalloc)

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...