Linux 常用解压命令

TAR命令语法及参数选项

TAR命令使用语法如下:tar [主选项+辅选项] 文件或者目录,其中,主选项是必需的,表明tar命令要完成的操作,辅选项是辅助使用的,可以有也可以没有。下面列出常用的主选项,并简要说明其功能:-A、--catenate、--concatenate表示将若干个tar文件合并成一个tar文件;-c、--create表示创建一个新的tar文件;-d、--diff、--compare表示要比较tar文件或文件系统的不同之处;--delete表示从tar文件中删除文件,但不能删除磁带文件;-r、--append表示在tar文件尾部追加文件;-t、--list表示要显示tar文件内容;-u、--update表示要更新tar文件;-x、--extract,--get表示从tar文件中取出文件。每次使用tar命令时,上述8个命令参数选项必须选择一个,用以指明操作类型。

创建tar文件

创建一个tar文件要使用主参数选项c,并指明创建tar文件的文件名。下面假设当前目录下有smart和xplns两个子目录以及cpuinfo.txt、smart.txt、tar.txt、tar_create.txt四个文件,smart目录下有smartsuite-2.1-2.i386.rpm文件,xplns目录下有xplns-cat-3.3.1-1.i386.rpm,xplns-elm-3.3.1-1.i386.rpm和xplns-img-3.3.1-1.i386.rpm三个文件。若要在该目录下将所有文件打包成gong.tar文件,可以使用如下命令:# tar cvf gong.tar ./*。其中,参数c指明创建tar,参数f指明是创建文件,参数v指明显示处理详细过程。

显示tar文件内容

对于一个已存在的tar文件,用户可能想了解其内容,即该文件是由哪些文件和目录打包而来的,这就要用带t参数的tar命令。例如对于上述产生的gong.tar文件,若欲显示其文件内容,可使用如下命令:# tar tf gong.tar。

从tar文件中取出文件

在已经存在的tar文件中解包,可以使用带主选项参数-x的tar命令实现。下面以gong.tar文件为例,说明带主选项参数-x的tar命令的用法。对当前目录下gong.tar文件解包:#tar -x gong.tar。

常用的压缩工具

Linux下的压缩工具有很多,下面列出Linux下常用的压缩工具及其产生文件的后缀:gzip/gunzip,后缀名为.gz;compress/uncompress,后缀名为.Z;zip/unzip,后缀名为.zip;bzip2/bunzip2,后缀名为.bz2;lha,后缀名为.lzh。Linux下压缩工具中最常用的包括gzip、zip和bzip2三种,下面分别讲述这三种最常用的压缩工具。

gzip压缩工具

对文件进行压缩的目的有两个:一是可以减少存储空间;二是通过网络传输文件时,可以减少传输的网络开销。gzip是Linux最常用的软件压缩工具,在Linux终端输入man gzip命令降显示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并显示处理进度:# tar cvfz gong.tar.gz ./*。

zip/unzip命令

zip程序位于/usr/bin目录中,可将文件压缩成.zip文件以节省硬盘空间,而当需要的时候又可将压缩文件解开。unzip命令用于将压缩文件解压。zip命令的使用形式为: zip [选项] 压缩后文件名 待压缩文件或文件夹,其中:参数选项表明要完成的操作类型,压缩后的文件名是某个合法的文件名,其后缀为zip,待压缩文件或文件夹指明须要进行压缩的文件或文件夹,可以是多个文件或文件夹。

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

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

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

bzip2命令

bzip2是一个无损压缩软件,具有高质量的数据压缩能力。它能将文件压缩到原来的10%到15%,而且压缩速度和解压缩速度都非常高,因此在Linux下得到广泛使用。bzip2从命令行读入文件名和参数,每个文件都被名为“原始文件名.bz2”的压缩文件替换。每个压缩文件具有与原文件相同的修改时间和权限,如果可能的话,还具有相同的属主,因此在解压缩时这些特性将正确地恢复。

具体操作如下,例如,用bzip2命令压缩当前目录下所有文件,用bunzip2 -z * 将获得相同的效果:#bzip2 *。再例如用bunzip2命令解压缩当前目录下所有文件,其中有一个文件free.txt不是以bz2为后缀:# bunzip2。

你可能感兴趣的:(linux)