文件压缩和归档
有时候,我们需要把一组文件贮存成一个文件以便备份或传输到另一个目录甚至另一个计算机上。有时候,我们还需要把文件压缩成一个文件,因而它们仅使用少量磁盘空间并能更快地通过互联网下载。
理解归档文件(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 压缩命令是指在 Linux 操作系统中用于压缩文件和数据的命令集。这些命令可以将大型文件压缩成较小的文件,从而节省存储空间和提高数据传输效率。下面将对 Linux 压缩命令的原理和各种压缩...
linux下压缩及解压缩命令进行详细解释,非常详尽,包含Linux下的所有压缩文件格式。
### Linux tar 命令详解 #### tar命令概述 `tar` 命令是 Linux 系统中用于创建、管理归档文件的强大工具。它最初设计用于在磁带(Tape Archive)上创建文件存档,因此得名 `tar`。随着时间的发展,`tar` 命令的...
《Linux命令详解手册》是一份全面的Linux命令参考资料,它详细介绍了Linux系统中广泛使用的一系列命令,覆盖了系统管理、系统设置、文档编辑以及压缩备份等多个方面。为了方便用户查阅,该手册按照命令的功能进行了...
linux zip 命令详解 功能说明:压缩文件。 语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件...][-i <范本样式>][-x <范本样式>] 补充...
zip 命令详解 #### 基础用法: `zip`命令主要用于将一个或多个文件压缩成一个.zip文件,其基本语法为: ``` zip [选项] <压缩文件名> [文件...] ``` 其中,`<压缩文件名>`是你想要创建的.zip文件的名字,`[文件......
Linux 命令详解词典.pdf,施威铭研究室著,大小 74 MB,被压缩成两部分分别上传。这是第二部分,第一部分下载地址:http://download.csdn.net/source/2685010。 本书精选了 381 个 Linux 命令,详细罗列 1729 个范例...
tar命令是Linux中用于文件归档的一个非常重要的工具,它可以通过指定不同参数来完成归档、解压以及压缩等一系列操作。使用tar命令归档时常用的参数包括: - c(create):创建新的归档文件; - v(verbose):在归档...
Linux命令详解手册是一本适合Linux新手和有一定基础的用户深入学习Linux命令的指南。它详细介绍了大量的Linux命令,涵盖了系统管理、系统设置、文档编辑以及压缩备份等多个方面的操作。掌握这些命令对于理解和使用...
Linux命令详解手册是一份关于Linux操作系统下各种命令的权威指南,涵盖了系统管理、系统设置、文档编辑和压缩备份等众多方面的命令。这份手册详细列举并解释了每个命令的用途和使用方法,是Linux用户管理和维护系统...
### Linux主要Shell命令详解 #### 一、Shell概念与作用 **Shell** 是连接用户与Linux操作系统的桥梁,用户通过Shell与系统进行交互。在Linux系统中,Shell扮演着多种角色,包括命令语言、命令解释程序以及程序设计...
这份“Linux命令详解词典”由施威铭研究室提供,涵盖了Linux系统下的所有基本及高级操作命令,对于学习和理解Linux系统的管理至关重要。下面将详细阐述一些关键的Linux命令。 1. **ls**:列出目录内容。`ls`命令...
### Linux下的压缩与解压缩命令详解 #### 一、引言 在Linux系统中,压缩与解压缩操作是非常常见的需求之一。无论是为了节省磁盘空间、方便数据传输还是备份文件,掌握这些命令都是必不可少的技能。本文将详细介绍两...
在Linux操作系统中,压缩和解压缩是常见的文件管理任务,特别是在处理大文件或大量文件时。本文主要介绍了一些常用的命令,如tar、gzip、gunzip、bzip2、bunzip2、compress、uncompress、zip、unzip、rar和unrar,...
【Linux常用命令详解】 在Linux操作系统中,命令行界面提供了丰富的命令来管理文件、系统、网络等。这里我们将深入探讨一些常用的Linux命令。 1. **文件传输** - **bye**:这个命令用于中断FTP(文件传输协议)...
### Linux常用命令详解 在Linux操作系统中,命令行界面(CLI)是进行系统管理、文件操作及各种任务执行的核心工具。下面将详细解析几个常用的Linux命令,帮助理解它们的功能及用法。 #### su - 用户切换命令 `su`...
### Linux常用命令详解 在深入探索Linux操作系统的过程中,掌握一系列核心命令是至关重要的。本文将聚焦于几个关键的Linux命令,这些命令对于档案目录管理尤为关键。通过细致解析`cat`、`cd`、`chmod`等命令的功能...
### Linux之CentOS 7 打包与压缩命令详解 #### 一、概述 在Linux环境中,文件管理和数据处理是一项非常重要的技能。特别是在系统管理、软件开发等领域,掌握高效的文件打包与压缩技巧对于提高工作效率至关重要。...
在Linux操作系统中,编程是一项基础且...阅读《Linux编程命令详解》这样的资料,将有助于深入理解这些命令的用法和应用场景。同时,实践是检验知识的最好方式,多在终端中尝试这些命令,将有助于巩固记忆并提升技能。
本文为大家分享了Linux下压缩与解压缩命令,供大家参考,具体内容如下 【tar命令】 解压:tar -zxvf FileName.tar 压缩:tar -czvf FileName.tar DirName 【gz命令】 解压1:gunzip FileName.gz 解压2:gzip -d ...