.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.htm
或 netscape pkzip.htm
阅读)来确保您的操作正确。
要解压缩 zip 文件,使用 unzip archive.zip
命令。如果想指定将档案扩展到哪个目录中,可以使用 -d
选项(例如, unzip file.zip -d /home/james/zips
将 file.zip
的内容抽取到 /home/james/zips
目录中)。
注:Aladdin Expander for Linux 也可以解压缩 zip 文件。有关详细信息,请参阅有关 .sit 文件的那一节。
当 zip 无法抽取档案中的文件时,使用 -F
或 -FF
修复 zip 选项进行挽救(例如 zip -F archive.zip
或 zip -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.linux.org/dist/index.html