日期:2014-05-16  浏览次数:20639 次

linux 下文件压缩与解压:gzip,zip,bzip2 文件压缩和归档( 转)

14.3. 文件压缩和归档

有时候,我们需要把一组文件贮存成一个文件以便备份或传输到另一个目录甚至另一个计算机上。有时候,我们还需要把文件压缩成一个文件,因而它们仅使用少量磁盘空间并能更快地通过互联网下载。

理解归档文件(archive file)压缩文件(compressed file) 间的区别对用户来说十分重要。归档文件是一个文件和目录的集合,而这个集合被贮存在一个文件中。归档文件没有经过压缩 — 它所使用的磁盘空间是其中所有文件和目录的总和。压缩文件也是一个文件和目录的集合,且这个集合也被贮存在一个文件中,但是 ,它的贮存方式使其所占用的磁盘空间比其中所有文件和目录的总和要少。如果你在计算机上的磁盘空间不足,你可以压缩不常使用的、或不再使用但想保留的文件。你甚至可以创建归档文件,然后再将其压缩来节省磁盘空间。

注记
归档文件不是压缩文件,但是压缩文件可以是归档文件。

14.3.1. 使用文件打包器

Red Hat Linux 包括了一个图形化的压缩工具“文件打包器 ”。它可以压缩、解压、并归档文件和目录。文件打包器支持通用的 UNIX 和 Linux 文件压缩和归档格式,而且它的界面简单,文档丰富。它还被集成到桌面环境和图形化文件管理器中,使处理归档文件的工作更加简便易行。

要启动 文件打包器,点击「主菜单」 => 「附件」 => 「文件打包器」 。你还可以从 shell 提示下键入 file-roller 来启动文件打包器 。图 14-1 显示了运行中的文件打包器

窍门
如果你使用的是文件管理器(如 Nautilus ),你可以双击你想解除归档或解压的文件来启动文件打包器 。文件打包器的浏览窗口就会出现,其中的文件夹里显示了你要解压或解除归档的文件,以便你来抽取或浏览。

图 14-1. 运行中的文件打包器

14.3.1.1. 使用文件打包器来解压或解除归档

要取消归档或者(并且)解压文件,点击工具栏上的「打开」 按钮。一个文件菜单就会弹出,允许你选择你要操作的归档。譬如,如果你的主目录中有一个 foo.tar.gz 文件,突出显示该文件,然后点击「确定」 。该文件就会作为文件夹出现在文件打包器 的主浏览窗口中,你可以双击该文件夹图标来翻阅其中的内容。文件打包器保留所有原有的目录和子目录结构,这便于你在归档中查找某一特定文件。你可以点击「抽取」 按钮,选择你要保存这些解除归档后的文件的目录,然后点击「确定」 按钮来抽取其中的某个文件或整个归档。

14.3.1.2. 使用文件打包器 来创建归档文件

如果你需要腾出一些硬盘空间,或者把多个文件或某一目录下的所有文件发送给另一名用户,文件打包器允许你创建文件和目录的归档。要创建新归档,点击工具栏上的「新建」 按钮。一个文件浏览器会弹出,允许你指定归档名称和压缩技术。譬如,你可以从拉下菜单中选择「用 gzip 压缩的 Tar (tar.gz) 格式,然后键入你想创建的归档文件的名称。点击「确定」 ,你就可以在新归档中添加文件和目录了。要在你的新归档中添加文件,点击「添加」 ,这会弹出一个浏览窗口(图 14-2 ),你可以从中查找要放入归档中的文件或目录。结束后点击「确定」「关闭」 按钮来关闭归档。

图 14-2. 使用文件打包器 来创建归档

窍门
文件打包器能够执行的任务不止这里提到的这些。请阅读文件打包器 的说明书(点击「帮助」 => 「说明书」 )来获取详细信息。

14.3.2. 在 shell 提示下压缩文件

压缩文件使用较少磁盘空间,并且比未压缩的大文件下载速度要快。在 Red Hat Linux 中,你可以使用的文件压缩工具有:gzipbzip2 、和 zip

推荐你使用 bzip2 压缩工具,因为它提供了最大限度的压缩,并且可在多数类似 UNIX 的操作系统上找到。gzip 压缩工具也可以在类似 UNIX 的操作系统上找到。如果你需要在 Linux 和其它操作系统如 MS Windows 间传输文件,你应该使用 zip ,因为该命令与 Windows 上的压缩工具最兼容。

压缩工具 文件扩展名 解压工具
gzip .gz gunzip
bzip2 .bz2 bunzip2
zip .zip unzip

表 14-1. 压缩工具

按照约定俗成,用 gzip 来压缩的文件的扩展名是 .gz ;用 bzip2 来压缩的文件的扩展名是 .bz2 ;用 zip 压缩的文件的扩展名是 .zip

gzip 压缩的文件可以使用 gunzip 来解压;用 bzip2 压缩的文件可以使用 bunzip2 来解压;用 zip 压缩的文件可以使用 unzip 来解压。

14.3.2.1. bzip2 和 bunzip2

要使用 bzip2 来压缩文件,在 shell 提示下键入以下命令:

bzip2 filename

文件即会被压缩并被保存为 filename.bz2

要扩展压缩的文件,键入以下命令:

bunzip2