`
samhe
  • 浏览: 16128 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论

linux 压缩解压

阅读更多

文件压缩和归档

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

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

    注记
   

归档文件不是压缩文件,但是压缩文件可以是归档文件。
使用文件打包器

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

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

    窍门
   

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

图 14-1. 运行中的文件打包器
使用文件打包器来解压或解除归档

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

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

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

    窍门
   

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

压缩文件使用较少磁盘空间,并且比未压缩的大文件下载速度要快。在 Red Hat Linux 中,你可以使用的文件压缩工具有:gzip、bzip2、和 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 来解压。
bzip2 和 bunzip2

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

bzip2 filename

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

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

bunzip2 filename.bz2

filename.bz2 文件会被删除,而继之以 filename。

你可以使用 bzip2 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:

bzip2 filename.bz2 file1 file2 file3 /usr/work/school

上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.bz2 文件中。

    窍门
   

要获得有关这两个命令的详细信息,在 shell 提示下键入 man bzip2 和 man bunzip2 来阅读 bzip2 和 bunzip2 命令的说明书页。
gzip 和 gunzip

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

gzip filename

文件即会被压缩,并被保存为 filename.gz。

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

gunzip filename.gz

filename.gz 会被删除,而继之以 filename。

你可以使用 gzip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:

gzip -r filename.gz file1 file2 file3 /usr/work/school

上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.gz 文件中。

    窍门
   

要获得有关这两个命令的详细信息,在 shell 提示下键入 man gzip 和 man gunzip 来阅读 gzip 和 gunzip 命令的说明书页。
zip 和 unzip

要使用 zip 来压缩文件,在 shell 提示下键入下面的命令:

zip -r filename.zip filesdir

在这个例子里,filename.zip 代表你创建的文件,filesdir 代表你想放置新 zip 文件的目录。-r 选项指定你想递归地(recursively)包括所有包括在 filesdir 目录中的文件。

要抽取 zip 文件的内容,键入以下命令:

unzip filename.zip

你可以使用 zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:

zip -r filename.zip file1 file2 file3 /usr/work/school

上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中。

    窍门
   

要获得有关这两个命令的详细信息,在 shell 提示下键入 man zip 和 man unzip 来阅读 zip 和 unzip 命令的说明书页。
在 shell 提示下给文件归档

tar 文件是几个文件和(或)目录在一个文件中的集合。这是创建备份和归档的佳径。

tar 使用的选项有:

    *

      -c — 创建一个新归档。
    *

      -f — 当与 -c 选项一起使用时,创建的 tar 文件使用该选项指定的文件名;当与 -x 选项一起使用时,则解除该选项指定的归档。
    *

      -t — 显示包括在 tar 文件中的文件列表。
    *

      -v — 显示文件的归档进度。
    *

      -x — 从归档中抽取文件。
    *

      -z — 使用 gzip 来压缩 tar 文件。
    *

      -j — 使用 bzip2 来压缩 tar 文件。

要创建一个 tar 文件,键入:

tar -cvf filename.tar directory/file

在以上的例子中,filename.tar 代表你创建的文件,directory/file 代表你想放入归档文件内的文件和目录。

你可以使用 tar 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:

tar -cvf filename.tar /home/mine/work /home/mine/school

上面的命令把 /home/mine 目录下的 work 和 school 子目录内的所有文件都放入当前目录中一个叫做 filename.tar 的新文件里。

要列出 tar 文件的内容,键入:

tar -tvf filename.tar

要抽取 tar 文件的内容,键入:

tar -xvf filename.tar

这个命令不会删除 tar 文件,但是它会把被解除归档的内容复制到当前的工作目录下,并保留归档文件所使用的任何目录结构。譬如,如果这个 tar 文件中包含一个叫做 bar.txt 的文件,而这个文件包含在 foo/ 目录中,那么,抽取归档文件将会导致在你当前的工作目录中创建 foo/ 目录,该目录中包含 bar.txt 文件。

请记住,tar 默认不压缩文件。要创建一个使用 tar 和 bzip 来归档压缩的文件,使用 -j 选项:

tar -cjvf filename.tbz file

按照约定俗成,用 bzip2 压缩的 tar 文件具有 .tbz 扩展名。不过,有时用户使用 tar.bz2 扩展名来归档他们的文件。

以上命令创建了一个归档文件,然后将其压缩为 filename.tbz 文件。如果你使用 bunzip2 命令为 filename.tbz 文件解压,filename.tbz 文件会被删除,继之以 filename.tar 文件。

你还可以用一个命令来扩展并解除归档 bzip tar 文件:

tar -xjvf filename.tbz

要创建一个用 tar 和 gzip 归档并压缩的文件,使用 -z 选项:

tar -czvf filename.tgz file

按照约定俗成,使用 gzip 来压缩的 tar 文件具有 .tgz 扩展名。

这个命令创建归档文件 filename.tar,然后把它压缩为 filename.tgz 文件(文件 filename.tar 不被保留)。如果你使用 gunzip 命令来给 filename.tgz 文件解压,filename.tgz 文件会被删除,并被替换为 filename.tar。

你可以用单个命令来扩展 gzip tar 文件:

tar -xzvf filename.tgz

分享到:
评论

相关推荐

    linux压缩解压命令

    本文将详细介绍几种常见的Linux压缩和解压缩命令及其使用方法。 首先,我们要区分“打包”和“压缩”的概念。打包是将多个文件或目录合并成一个单一的文件,通常使用`tar`命令完成,它并不会减少文件大小。而压缩则...

    完整的 linux 压缩 解压命令

    ### 完整的 Linux 压缩与解压命令详解 在 Linux 系统中,文件的压缩与解压是一项非常常见的操作。无论是为了节省磁盘空间还是提高数据传输效率,掌握基本的压缩与解压命令都是十分必要的。本文将详细介绍 Linux 下...

    linux 压缩 解压 详解.doc

    ### Linux压缩与解压缩详解 #### 一、Tar 命令详解 在Linux系统中,`tar`命令是最常用的打包工具之一。该命令能够帮助用户轻松地将多个文件打包成一个文件,这对于备份和传输文件非常有用。下面将详细介绍`tar`...

    linux压缩 解压指令大全

    本文档集合了linux下所有的压缩解压指令。十分有效,方便在开发中进行查阅。本文档集合了linux下所有的压缩解压指令。十分有效,方便在开发中进行查阅。

    Linux 压缩解压

    Linux 压缩解压 文章目录Linux 压缩解压gziptarzipbzip2 gzip 对应压缩文件 xxx.gz 不能压缩目录 默认不保留源文件 -k 参数保留 解压生成文件名自动去掉 .gz 压缩出的文件自动加上 .gz 常用参数 -d –decompress...

    linux下常用格式的压缩与解压方法

    Linux 下常用格式的压缩与解压方法 Linux 操作系统中有多种压缩和解压格式,每种格式都有其特点和使用方法。了解这些格式的使用方法可以帮助我们更好地管理和存储文件。本文将介绍 Linux 下常用格式的压缩与解压...

    linux下压缩与解压

    ### Linux 下的压缩与解压缩技术详解 在 Linux 操作系统中,文件的压缩与解压缩是一项非常重要的技能。无论是日常文件管理还是服务器维护,掌握这些技能都能大大提高工作效率。本文将详细解析各种常用的压缩格式...

    linux c压缩解压文件源码

    总的来说,这个源码提供了一种不依赖外部命令的自定义压缩解压方案,适用于对速度和内存使用有严格要求的场景。通过理解和使用这样的源码,开发者可以深入学习C语言编程、文件操作、内存管理和压缩算法,提升自己的...

    linux常见压缩文件解压命令

    ### Linux常见压缩文件解压命令详解 在Linux操作系统中,处理各种类型的压缩文件是一项非常常见的需求。本篇文章将深入解析几种常用的压缩与解压缩命令及其用法,包括但不限于`tar`、`gzip`、`bzip2`、`zip`等。 #...

    Linux下常用压缩格式的压缩与解压方法

    Linux下常用压缩格式的压缩与解压方法

    linux下的压缩与解压缩

    ### Linux下的压缩与解压缩详解 #### 一、概述 在Linux系统中,压缩与解压缩功能对于数据管理和传输非常重要。对于初学者来说,掌握基本的压缩与解压缩技巧可以帮助他们更高效地管理文件和目录。本文将详细介绍...

    Linux c++ 实现哈夫曼文件压缩与解压+迷宫

    在本项目中,我们主要探讨的是利用Linux操作系统下的C++编程语言实现哈夫曼编码进行文件的压缩与解压,并且结合生成随机迷宫及寻找最短路径算法。以下是相关知识点的详细说明: 1. **哈夫曼编码**:哈夫曼编码是一...

    linux系统下对文件的压缩和解压命令大全

    ### Linux系统下的文件压缩与解压命令大全 在Linux系统中,文件的压缩与解压是非常常见的操作之一。本文将详细介绍Linux系统下常用的文件压缩与解压命令,并结合实际应用场景进行解析,帮助用户更好地理解和掌握...

    Linux下常用压缩格式的压缩与解压方法.doc

    在Linux操作系统中,压缩和解压文件是日常工作中常见的任务,尤其对于处理大文件或减少存储空间时。这里,我们详细讲解几种常见的压缩格式及其在Linux下的操作命令。 1. **.tar**: - 解包:`tar xvf FileName.tar...

    linux下压缩解压命令大全

    ### Linux 下压缩与解压命令大全 在 Linux 系统中,文件的压缩与解压是非常常见的操作之一,尤其在处理大量数据时更是必不可少。本文将详细介绍 Linux 下各种压缩与解压命令及其用法,帮助用户更好地管理和处理文件...

    java 解压,压缩linux GZ压缩文件

    Java在Linux环境下对GZ压缩文件的处理是一个常见的任务,特别是在处理大文件或者网络传输时。GZ是一种常用的文件压缩格式,它利用了gzip程序进行压缩,而在Java中,我们可以使用`java.util.zip`包中的类来实现对GZ...

    linux压缩和解压命令大全

    linux压缩和解压命令大全,zip命令,tar命令,gz命令,bz2命令,bz命令,z命令

    Linux&UNIX压缩解压命令大全

    ### Linux & UNIX压缩解压命令大全 在Linux与UNIX操作系统中,文件的压缩与解压是常见的需求之一,尤其在处理大量数据时更是必不可少。本文将详细介绍这些系统中常用的压缩与解压命令及其用法,帮助用户更好地管理...

    linux 压缩解压缩命令

    这里,我们将详细探讨几个常用的Linux压缩和解压缩命令,包括`tar`、`gzip`、`bzip2`以及它们的组合使用。 1. **`tar`命令**:`tar`是用于打包文件或目录的命令,它并不直接进行压缩,但可以与压缩工具结合使用。`...

Global site tag (gtag.js) - Google Analytics