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。
【编辑推荐】