Linux包含了多种文件压缩工具。虽然听上去不错,但这实际上经常会在用户下载文件时造成混淆。表4-7列出了Linux上的文件压缩工具。

gzip软件包是GNU项目的产物,意在编写一个能够替代原先Unix中compress工具的免费版本。这个软件包含有下面的工具。

gzip:用来压缩文件。
gzcat:用来查看压缩过的文本文件的内容。
gunzip:用来解压文件。

gzip命令会压缩你在命令行指定的文件。也可以在命令行指定多个文件名甚至用通配符来一次性批量压缩文件。

虽然zip命令能够很好地将数据压缩和归档进单个文件,但它不是Unix和Linux中的标准归档工具。,Unix和Linux上最广泛使用的归档工具是tar命令。

tar命令最开始是用来将文件写到磁带设备上归档的,然而它也能把输出写到文件里,这种用法在Linux上已经普遍用来归档数据了。

下面是tar命令的格式:

tar function [options] object1 object2 ...

function参数定义了tar命令应该做什么,

每个功能可用选项来针对tar归档文件定义一个特定行为。列出了这些选项中能和tar 命令一起使用的常见选项。

这些选项经常合并到一起使用。首先,你可以用下列命令来创建一个归档文件:

tar -cvf test.tar test/ test2/

上面的命令创建了名为test.tar的归档文件,含有test和test2目录内容。接着,用下列命令:

tar -tf test.tar

列出tar文件test.tar的内容(但并不提取文件)。最后,用命令:

tar -xvf test.tar

通过这一命令从tar文件test.tar中提取内容。如果tar文件是从一个目录结构创建的,那整个目 录结构都会在当前目录下重新创建。

如你所见,tar命令是给整个目录结构创建归档文件的简便方法。这是Linux中分发开源程序 源码文件所采用的普遍方法。

下载了开源软件之后,你会经常看到文件名以.tgz结尾。这些是gzip压缩过的tar文件可以用命令

tar -zxvf filename.tgz

来解压。