除了压缩和解压缩文件外,你还可以使用 zip 命令执行许多有趣的操作。这是一些其他的 zip 选项以及它们如何提供帮助。
为了节省一些磁盘空间并将文件打包在一起进行归档,我们中的一些人已经在 Unix 和 Linux 系统上压缩文件数十年了。即使这样,并不是所有人都尝试过一些有趣的压缩工具的变体。因此,在本文中,我们将介绍标准的压缩和解压缩以及其他一些有趣的压缩选项。
基本的 zip 命令
首先,让我们看一下基本的 zip
命令。它使用了与 gzip
基本上相同的压缩算法,但是有一些重要的区别。一方面,gzip
命令仅用于压缩单个文件,而 zip
既可以压缩文件,也可以将多个文件结合在一起成为归档文件。另外,gzip
命令是“就地”压缩。换句话说,它会只留下一个压缩文件,而原始文件则没有了。 这是工作中的 gzip
示例:
-
$ gzip onefile
-
$ ls -l
-
-rw-rw-r-- 1 shs shs 10514 Jan 15 13:13 onefile.gz
而下面是 zip
。请注意,此命令要求为压缩存档提供名称,其中 gzip
(执行压缩操作后)仅使用原始文件名并添加 .gz
扩展名。
-
$ zip twofiles.zip file*
-
adding: file1 (deflated 82%)
-
adding: file2 (deflated 82%)
-
$ ls -l
-
-rw-rw-r-- 1 shs shs 58021 Jan 15 13:25 file1
-
-rw-rw-r-- 1 shs shs 58933 Jan 15 13:34 file2
-
-rw-rw-r-- 1 shs shs 21289 Jan 15 13:35 twofiles.zip
请注意,原始文件仍位于原处。
所节省的磁盘空间量(即获得的压缩程度)将取决于每个文件的内容。以下示例中的变化很大。
-
$ zip mybin.zip ~/bin/*
-
adding: bin/1 (deflated 26%)
-
adding: bin/append (deflated 64%)
-
adding: bin/BoD_meeting (deflated 18%)
-
adding: bin/cpuhog1 (deflated 14%)
-
adding: bin/cpuhog2 (stored 0%)
-
adding: bin/ff (deflated 32%)
-
adding: bin/file.0 (deflated 1%)
-
adding: bin/loop (deflated 14%)
-
adding: bin/notes (deflated 23%)
-
adding: bin/patterns (stored 0%)
-
adding: bin/runme (stored 0%)
-
adding: bin/tryme (deflated 13%)
-
adding: bin/tt (deflated 6%)
unzip 命令
unzip
命令将从一个 zip 文件中恢复内容,并且,如你所料,原来的 zip 文件还保留在那里,而类似的 gunzip
命令将仅保留未压缩的文件。