2007年2月4日星期日

Linux 文件压缩工具指南

.rar

带有 .rar 文件扩展名的文件是使用 RAR 和 WinRAR 归档和压缩工具创建的,这些工具由 Eugene Roshal 开发。他先是发行了用于 MS-DOS 操作系统的这些工具。RAR 受到用户的青睐是因为他们看重它的广泛特性和高压缩比率,以及友好的用户界面,它与 Norton Commander 的界面(或 Midnight Commander 的界面)很相似。

因为 RAR For Linux 是该软件的完整移植,因此您可以享受到原始 RAR 的所有好处(除 MC 样式的界面以外)。但要记住,RAR for Linux 不是免费的;必须向总部在芬兰的一家公司 T:mi Softronic 注册它。

RAR for Linux 选项的列表给人的印象深刻,可以用作其它归档和压缩工具开发人员的任务列表。要压缩单个文件,输入 rar a archive file.rar 扩展名将自动附加到档案后(它的完整文件名将是 archive.rar )。如果 archive.rar 已在当前工作目录中存在,您尝试添加到 archive.rar 的文件就将直接添加到现有档案中。只有在 archive.rar 已包含带有相同名称的文件时,旧文件才会被新文件替代。其它存储在档案内部的文件将保持不变。请记住,该操作是 盲目的, 意味着 RAR 不检查文件的时间戳记;只有在 a 选项后添加了 -u 选项时才执行这一检查。请注意, a 前面没有减号 ( - )(例如, rar a -u archive file )。

多个文件的归档非常简单:要将当前工作目录中的所有文件和目录归档,输入 rar a archive 。要将特定目录的内容归档,输入 rar a archive /path/to/directory 。要将一组文件归档,将它们括在引号中,象这样: rar a archive '*.cpp'

文件替换规则和 -u 选项对多个文件和单个文件所起的作用是一样的。通配符使用的语法和您在常用的 shell 中所使用的语法相同,但必须记住要用引号括起它们。

以下是其它一些 RAR 选项:

  • l -- 列出档案内容(例如, rar l archive.rar
  • v -- 列出详细格式的档案内容(例如, rar v archive.rar
  • t -- 测试档案的完整性(例如, rar t archive.rar

请注意,不是所有 RAR 选项都以减号 ( - ) 开头;有关详细信息,请运行不带任何选项和自变量的 RAR(例如,如果 RAR 目录位于当前工作目录中,运行 rar/rar )。有关详细信息,请参阅 RAR 手册文件(它是 rar.txt 文件,同样位于 RAR 目录中)。

使用 RAR,您可以解压缩整个档案(使用 rar e archive.rar )、单个文件(使用 rar e archive.rar file )或一组文件(使用 rar e archive.rar '*.cpp' )。因为 RAR 可以对多个文件使用,您也可以使用 rar e '*.rar' '*.cpp' 从多个档案中抽取几组文件。

当 RAR 无法从一个档案中抽取文件时,使用修复选项进行挽救: rar r archive.rar

可以从官方 RAR 站点获得自抽取档案形式的 RAR for Linux。需要使用 ./rarlnx271.sfx 命令来运行它(结尾的数字可能会因为发行了新版本的 RAR 而有所不同)。档案将其内容解包到当前工作目录中自动创建的 rar 子目录中。您可以在其中找到 rar 二进制。可以将 rar 二进制移到 /sbin/usr/sbin 目录中,这样所有用户都可以使用它。除了 RAR 本身,您还可以获得 UnRAR,它是一个小型实用程序,用于解压缩 .rar 文件,如果您希望允许其它用户打开这样的档案但不创建它们,这个实用程序使用起来非常方便。

RAR 站点: http://www.rarsoft.com

.zip

.zip 扩展名表示文件是使用许多 zip 归档程序和压缩程序之一(但不是 gzip)创建的。因为这是一种非常流行的压缩格式,算法的详细描述也有很多,所以可以找到用于所有操作系统的有用的移植形式。这包括创建和扩展带有 .zip 文件扩展名的档案的压缩和解压缩实用程序。在 Linux 上有两种这样的工具:免费的 Info-ZIP 和以赢利为目的的 PKZIP for Linux。如果您只是偶尔需要创建或打开 zip 文件,使用 Info-ZIP。如果希望使用在 MS-DOS 或其它系统上使用的相同工具,请选择 PKZIP(PKZIP 可用于许多操作系统)。用于微软 Windows 的 WinZIP 和用于 Mac OS 的 Stufflt 这两种实用程序可以创建和打开相互之间兼容的档案。

Info-ZIP 在无法使用 gzip 或 tar 的情况下可以提供压缩和解压缩的一个不错的选择,这或许是在 Linux、微软 Windows 和 Mac OS 用户之间交换压缩文件的一种最好的形式。有许多不错的 zip 程序(有开放源码的,也有商业的)可用于这些操作系统,它们应该能确保文件的顺利交换(当然,只要是在特定于某个特定工具的特殊功能关闭的情况下)。

要归档单个文件,输入 zip archive file 。要压缩多个文件,使用通配符(例如, zip archive picture*jpg )。还有可能将文件定向输出到 zip;输入 man zip 获得详细信息。要归档整个目录,包括其中所有子目录的内容,使用 -r 选项,然后在档案名后输入目录名(例如, zip -r archive directory )。还可以输入 zip -R archive . 来将当前当前工作目录进行归档。 .zip 扩展名自动添加到档案名后。

zip 发现已有档案的名称和您尝试创建的名称相同时,它将您希望压缩的文件添加到现有档案中,而不将已存在的文件除去。这一规则有一个例外:如果存储在现有档案中的一个或多个文件和您希望压缩的一个或多个文件具有相同的名称,旧文件将由新文件替换。文件替换规则可以使用 -u 选项来修改(有关详细信息,请参阅 man zip )。

以下是其它一些 zip 选项:

  • -j -- 只存储文件名,不带访问路径(例如, zip -j archive file
  • -t -- 测试档案的完整性(例如, zip -t archive.zip
  • -x -- 排除文件(例如, zip -r archive ./* -x *.tmp

请注意,不是所有 zip 选项都以负号 ( - ) 开头。

PKZIP 选项类似于 Info-ZIP,但您应该阅读 pkzip.htm 手册(它是一个 HTML 文档;使用 lynx pkzip.htmnetscape pkzip.htm 阅读)来确保您的操作正确。

要解压缩 zip 文件,使用 unzip archive.zip 命令。如果想指定将档案扩展到哪个目录中,可以使用 -d 选项(例如, unzip file.zip -d /home/james/zipsfile.zip 的内容抽取到 /home/james/zips 目录中)。

注:Aladdin Expander for Linux 也可以解压缩 zip 文件。有关详细信息,请参阅有关 .sit 文件的那一节。

当 zip 无法抽取档案中的文件时,使用 -F-FF 修复 zip 选项进行挽救(例如 zip -F archive.zipzip -FF archive.zip )。请记住在尝试拯救已破坏的档案之前进行备份。

可以从官方 Info-ZIP 站点获得二进制或源码形式的 Info-ZIP for Linux。

可以从 PKZIP 官方站点下载 PKZIP for Linux。它作为自抽取档案分发。要为它解包,输入 ./pklin251.exe ,档案的内容将解包到当前工作目录中。您需要将 pkzip25 二进制文件复制到 /sbin/usr/sbin 目录中,这样系统上的所有用户都可以使用它。(但您必须购买相应的许可证,因为它是商业软件包。)

gzip: http://www.gnu.org/software/gzip/gzip.html

tar: http://www.gnu.org/software/tar/tar.html

WinZIP: http://www.winzip.com

StuffIt: http://www.aladdinsys.com

Aladdin Expander: http://www.aladdinsys.com/expander/expander_linux_login.html

下载源码形式的 Info-ZIP: http://www.freesoftware.com/pub/infozip

下载二进制形式的 Info-ZIP: http://www.linux.org/dist/index.html


下载 PKZIP: http://www.pkzip.org/shareware/pkzip_unix.html

zoo

.zoo 扩展名在因特网上不经常出现,但请放心,可以使用 Linux 的 zoo 实用程序打开和创建这样的文件。不过要记住,zoo 对于现在用户的期望来说已有些陈旧和简单。

要归档单个文件,输入 zoo a archive file 。同样,要压缩多个文件,可以使用通配符 -- 例如, zoo a archive picture*jpg.zip 扩展名自动添加到档案名后。

下面是其它一些 zoo 选项以及它们所添加的功能:

  • l -- 列出档案内容(例如, zoo l archive.zoo
  • t -- 测试档案的完整性(例如, zoo -t archive.zoo

请注意,不是所有 zoo 选项都以负号 ( - ) 开头

要解压缩 .zoo 文件,输入 zoo e archive.zoo

可以获得用于所有 Linux 发行版的二进制形式的 zoo for Linux。

下载二进制形式的 zoo: http://www.linux.org/dist/index.html


没有评论: